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));

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

输出结果

控制台中的输出将为-

[ 60, 93, 30, 55 ]