具有相同屬性的兩個物件的 JavaScript 和
假設我們有如下兩個物件 -
const obj1 = {
a:12, b:8, c:17
};
const obj2 = {
a:2, b:4, c:1
};我們需要編寫一個 JavaScript 函式,該函式接受兩個這樣的物件。
此函式應將相同屬性的值相加到單個屬性中。因此,最終的物件應如下所示 -
const output = {
a:14, b:12, c:18
};注意 - 為了簡單起見,我們只使用了兩個物件,但我們要求編寫我們的函式,以便它可以接受任意數量的物件並新增它們的屬性值。
示例
const obj1 = {
a:12,
b:8,
c:17
};
const obj2 = {
a:2,
b:4,
c:1
};
const sumObjectsByKey = (...objs) => {
const res = objs.reduce((a, b) => {
for (let k in b) {
if (b.hasOwnProperty(k))
a[k] = (a[k] || 0) + b[k];
}
return a;
}, {});
return res;
}
console.log(sumObjectsByKey(obj1, obj2));輸出
控制檯中的輸出將是 -
{ a: 14, b: 12, c: 18 }
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP