JavaScript 中嵌套数组的权重和

问题

我们需要编写一个 JavaScript 函数,它接受一个嵌套数组 arr(嵌套到任何级别)作为唯一参数。

该函数应计算嵌套数组的加权总和并返回该总和。

为了计算嵌套总和,我们将特定元素与其嵌套级别相乘,然后在整个数组中相加。

例如,如果函数的输入是 -

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

以上是 JavaScript 中嵌套数组的权重和 的全部内容, 来源链接: utcz.com/z/335591.html

回到顶部