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

JavaScriptのネストされた配列の重みの合計


問題

ネストされた配列arr(任意のレベルまでネストされている)を唯一の引数として受け取るJavaScript関数を作成する必要があります。

関数は、ネストされた配列の加重和を計算し、その和を返す必要があります。

ネストされた合計を計算するために、特定の要素にそのネストのレベルを乗算し、配列全体に追加します。

たとえば、関数への入力が-

の場合
const arr = [4, 7, [6, 1, [5, 2]]];

その場合、出力は-

になります。
const output = 46;

出力の説明:

合計は次のように計算されます-

(4 * 1) + ( 7 * 1) + (6 * 2) + (1 * 2) + (5 * 3) + (2 * 3) = 46

このためのコードは-

になります
const arr = [4, 7, [6, 1, [5, 2]]];
const findWeightedSum = (arr = [], level = 1, res = 0) => {
   for(let i = 0; i < arr.length; i++){
      if(typeof arr[i] === 'number'){
         res += (level * arr[i]);
      }else if(Array.isArray(arr[i])){
         return findWeightedSum(arr[i], level + 1, res);
      };
   };
   return res;
};
console.log(findWeightedSum(arr));

出力

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

になります
46

  1. JavaScriptを使用した配列内のネストされたオブジェクト値の合計

    以下は、JavaScriptを使用して配列内のネストされたオブジェクト値を合計するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <st

  2. 配列JavaScriptの配列の部分和

    数値の配列の配列を受け取るJavaScript関数を作成する必要があります。サブ配列ごとに、そのような関数は部分和サブ配列(特定の値がそれ自体と前の値の合計である配列)を作成します。 例- 入力配列が-の場合 const arr = [ [1, 1, 1, -1], [1, -1, -1], [1, 1] ]; その場合、出力は-になります。 const output = [ [1, 2, 3, 2], [1, 0, -1], [1, 2] ]; 例 const arr = [ [1, 1, 1, -1], [1, -1, -1], [1, 1] ]    const