在 JavaScript 中新增匹配的物件值


假設我們有一個這樣的物件陣列 −

const arr = [{a: 2, b: 5, c: 6}, {a:3, b: 4, d:1},{a: 1, d: 2}];

每個物件都鍵繫結唯一的自身(對於它來說成為有效物件),但是兩個不同的物件可以具有相同的鍵(出於此問題的目的)。

我們需要編寫一個 JavaScript 函式,該函式取一個這樣的陣列並返回一個物件,其中包含陣列中存在的所有唯一鍵及其值的累加和。

因此,結果物件看起來應該像 −

const output = {a: 6, b: 9, c: 6, d: 3};

因此,讓我們編寫此函式的程式碼 −

示例

其程式碼如下 −

const arr = [{a: 2, b: 5, c: 6}, {a: 3, b: 4, d:1}, {a: 1, d: 2}];
const sumArray = arr => {
   const res = {};
   for(let i = 0; i < arr.length; i++){
      Object.keys(arr[i]).forEach(key => {
         res[key] = (res[key] || 0) + arr[i][key];
      });
   };
   return res;
};
console.log(sumArray(arr));

輸出

控制檯中的輸出如下 −

{ a: 6, b: 9, c: 6, d: 3 }

更新於: 2020 年 10 月 21 日

318 次瀏覽

開始你的職業

完成課程後獲得認證

開始學習
廣告
© . All rights reserved.