把物件陣列中匹配鍵的值加起來 - 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 }
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP