Giả sử chúng ta có mảng object như sau:
const arr = [{a: 2, b: 5, c: 6}, {a:3, b: 4, d:1},{a: 1, d: 2}];Mỗi object có key duy nhất trong chính nó, nhưng các object khác nhau có thể chia sẻ key.
Chúng ta cần viết hàm nhận vào mảng này và trả về object chứa tất cả key duy nhất và tổng giá trị tích lũy của chúng.
Kết quả:
const output = {a: 6, b: 9, c: 6, d: 3};Ví dụ
Dưới đây là đoạn code:
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));Kết quả
Đoạn code sẽ in ra console:
{ a: 6, b: 9, c: 6, d: 3 }