在JavaScript中,可以使用以下方法来整理对象数组中相同的键,并求和值:
function sumValues(arr) {
let result = {};
arr.forEach(obj => {
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
if (result.hasOwnProperty(key)) {
result[key] += obj[key];
} else {
result[key] = obj[key];
}
}
}
});
return result;
}
这个函数接受一个对象数组作为参数,并返回一个新的对象,其中包含相同键的值的总和。它使用forEach
方法遍历数组中的每个对象。然后,使用for...in
循环遍历当前对象的所有键。如果结果对象中已经存在相同的键,则将当前对象的值加到结果对象的对应键上;否则,将当前对象的键和值添加到结果对象中。
这个方法可以用于整理对象数组中相同的键,并求和值。例如,对于以下对象数组:
const arr = [
{ name: 'A', value: 10 },
{ name: 'B', value: 20 },
{ name: 'A', value: 30 },
{ name: 'C', value: 40 }
];
调用sumValues(arr)
将返回以下结果:
{
name: 'A',
value: 40,
B: 20,
C: 40
}
在这个例子中,键name
出现了两次,对应的值分别为10和30,所以它们被求和为40。其他键B
和C
只出现了一次,所以它们的值保持不变。
这个方法可以在各种场景中使用,例如统计某个属性的总和、合并相同键的值等。对于腾讯云的相关产品和介绍链接,可以参考腾讯云官方文档或者咨询腾讯云的客服人员。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云