gpt4 book ai didi

javascript - 如何求和两个对象的属性?

转载 作者:行者123 更新时间:2023-12-02 23:10:05 25 4
gpt4 key购买 nike

我有多个 JavaScript 对象:

{
a: 12,
b: 8,
c: 17
}

{
a: 2,
b: 4,
c: 1
}

我需要通过键对这两个对象求和

结果:

{
a: 14,
b: 12,
c: 18
}

你们有 JavaScript 解决方案吗?我使用 Object.keys.map 但它太长了,因为我的对象中有大约 100 个元素。

最佳答案

你可以使用reduce来实现,下面的函数可以接受任意数量的对象并按键对它们求和:

var obj1 = {
a: 12,
b: 8,
c: 17
};

var obj2 = {
a: 12,
b: 8,
c: 17
};

var obj3 = {
a: 12,
b: 8,
c: 17
};


function sumObjectsByKey(...objs) {
return objs.reduce((a, b) => {
for (let k in b) {
if (b.hasOwnProperty(k))
a[k] = (a[k] || 0) + b[k];
}
return a;
}, {});
}

console.log(sumObjectsByKey(obj1, obj2, obj3));

关于javascript - 如何求和两个对象的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42488048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com