如何将数组中相同索引处的元素求和到单个数组中?

我们有一个数组数组,要求编写一个函数,该函数接受此数组并返回一个新数组,该数组代表原始数组的相应元素之和。

如果原始数组是-

[
   [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 ]

上面,我们遍历原始数组的每个元素,然后遍历每个数字,检查该索引的总和是否已经存在,我们只是向其添加了相应的数字,否则我们将相应的num设置为等于它。