如何將陣列中的元素求和為單個數組?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+ 瀏覽

開啟你的 職業生涯

完成課程即可獲得認證

開始
廣告
© . All rights reserved.