我有一个这样的对象数组:
[
{
id:1,
val: 5
},
{
id:1,
val: 5
},
{
id:2,
val: 6
},
{
id:2,
val: 7
}
]
我想要这样的东西
[
{
id:1,
val: 10
},
{
id:2,
val: 13
},
]
我该怎么做?
答案 0 :(得分:1)
var t=[
{
id:1,
val: 5
},
{
id:1,
val: 5
},
{
id:2,
val: 6
},
{
id:2,
val: 7
}
]
t.reduce((acc,elem)=>{
if(acc.filter((elemi)=>elemi.id==elem.id)[0])acc.filter((elemi)=>elemi.id==elem.id)[0].val+=elem.val;
else acc.push(elem);
return acc
}
,[])