以下是一个示例解决方案,其中给定一个对象数组,将对象按照指定的键值进行分组,并计算每个组的键值的总和:
// 示例输入对象数组
const arr = [
{ name: "A", value: 10 },
{ name: "B", value: 5 },
{ name: "A", value: 15 },
{ name: "C", value: 8 },
{ name: "B", value: 3 },
];
// 创建一个空对象来存储分组后的结果
const grouped = {};
// 遍历输入数组中的每个对象
arr.forEach(item => {
const { name, value } = item;
// 如果分组不存在,则创建一个新的分组,并将当前对象的值作为初始值
if (!grouped[name]) {
grouped[name] = value;
}
// 如果分组已存在,则将当前对象的值累加到分组的总和上
else {
grouped[name] += value;
}
});
// 打印分组后的结果
console.log(grouped);
输出结果为:
{
A: 25,
B: 8,
C: 8
}
上述代码首先创建一个空对象 grouped
来存储分组后的结果。然后使用 forEach
方法遍历输入数组中的每个对象。对于每个对象,将其 name
属性作为分组的键,将其 value
属性作为分组的值。如果分组已存在,则将当前对象的值累加到分组的总和上;否则,创建一个新的分组,并将当前对象的值作为初始值。最后,打印分组后的结果。
上一篇:按对象数组的长度筛选文档
下一篇:按对象数组进行分组