可以使用JavaScript中的reduce()方法来按照用户ID将对象数组进行分组,并对特定值进行求和。下面是一个示例代码:
// 原始对象数组
const array = [
{ id: 1, value: 10 },
{ id: 2, value: 20 },
{ id: 1, value: 30 },
{ id: 3, value: 40 },
{ id: 2, value: 50 }
];
// 使用reduce()方法进行分组和求和
const result = array.reduce((acc, obj) => {
const id = obj.id;
const value = obj.value;
// 如果分组已存在,则累加对应的值
if (acc[id]) {
acc[id] += value;
} else {
// 如果分组不存在,则创建新的分组
acc[id] = value;
}
return acc;
}, {});
// 输出结果
console.log(result);
以上代码会输出以下结果:
{ "1": 40, "2": 70, "3": 40 }
在上面的示例中,我们使用reduce()方法来遍历原始的对象数组。对于每个对象,我们提取出其id和value,并根据id进行分组。如果分组已存在,则累加对应的value值;如果分组不存在,则创建新的分组并将value值赋给该分组。最后,返回累加结果。
在示例中,我们使用了一个空对象{}作为初始值,用于存储最终的分组和求和结果。你可以根据实际需求对初始值进行调整。