JavaScript 对具有相同属性的两个对象求和
javascriptweb developmentfront end technologyobject oriented programming
假设,我们有两个像这样的对象 −
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 }
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

