如何将数组中的元素求和为单个数组?JavaScript


我们有一个数组数组,现在需要编写一个函数,这个函数接收此数组,然后返回一个新数组,新数组用于表示原始数组中相应元素的总和。

如果原始数组是 −

[
   [43, 2, 21],[1, 2, 4, 54],[5, 84, 2],[11, 5, 3, 1]
]

那么输出应该是 −

[60, 93, 30, 55]

我们来编写一个样例函数 addArray()

此函数的完整代码如下 −

示例

const arr = [
   [43, 2, 21],[1, 2, 4, 54],[5, 84, 2],[11, 5, 3, 1]
];
const sumArray = (array) => {
   const newArray = [];
   array.forEach(sub => {
      sub.forEach((num, index) => {
         if(newArray[index]){
            newArray[index] += num;
         }else{
            newArray[index] = num;
         }
      });
   });
   return newArray;
}
console.log(sumArray(arr));

输出

控制台中的输出为 −

[ 60, 93, 30, 55 ]

上面,我们遍历原始数组的每个元素,然后是每个数字,检查此索引的总和是否已存在,如果已存在,只需将相应数字添加到其中,否则,将相应数字设为与之相等。

更新于: 19-Aug-2020

1K+ 浏览

开启你的 职业生涯

完成课程即可获得认证

开始
广告