Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptの配列からn個の数値の可能な最大の積を返します


最初の引数として数値の配列を取り、2番目の引数として数値(たとえばn)を受け取るJavaScript関数を作成する必要があります。

この関数は、配列からn個の数値の可能な最大の積を計算して返す必要があります。

このためのコードは-

になります
const getHighestProduct = (arr, num) => {
   let prod = 1;
   const sorter = (a, b) => a - b;
   arr.sort(sorter);
   if (num > arr.length || num & 2 && arr[arr.length - 1] < 0) {
      return;
   };
   if (num % 2) {
      prod = arr.pop();
      num--;
   };
   while (num) {
      prod *= arr[0] * arr[1] > arr[arr.length - 2] * arr[arr.length - 1]
      ? arr.shift() * arr.shift() : arr.pop() * arr.pop();
      num -= 2;
   };
   return prod;
}
console.log(getHighestProduct([1, 10, -5, 1, -100], 3));
console.log(getHighestProduct([3, 4, 5, 6, 7], 3));
console.log(getHighestProduct([3, 4, -5, -6, -7], 3));

出力

そして、コンソールの出力は-

になります
5000
210
168

  1. JavaScriptでreduce()を使用して配列要素の積を検索する

    問題 配列arrを取り込むJavaScript関数を作成する必要があります。この関数は、配列のすべての要素の積を見つけて返す必要があります。 例 以下はコードです- const arr = [3, 1, 4, 1, 2, -2, -1]; const produceElements = (arr = []) => {    const res = arr.reduce((acc, val) => {       acc = acc * val;       return acc;   &n

  2. JavaScriptを使用して配列から唯一のアウトシーケンス番号を検索する

    問題 数値の配列を受け取るJavaScript関数を作成する必要があります。配列は昇順/昇順で並べ替えられ、配列内の1つの要素のみが順序どおりではありません。 関数はその要素を見つけて返す必要があります。 例 以下はコードです- const arr = [1, 2, 3, 4, 17, 5, 6, 7, 8]; const findWrongNumber = (arr = []) > {    for(let i = 0; i < arr.length - 1; i++){       const el = arr[i]; &