Javascript 如何组合具有相同属性值的数组中的元素

Javascript 如何组合具有相同属性值的数组中的元素,javascript,arrays,object,Javascript,Arrays,Object,对于以下阵列: [{a:1,b:1},{a:5,b:2},{a:10,b:2},{a:20,b:3}] 如何获得一个新数组,该数组将具有相同属性值b的元素组合在一起,并对属性a的值求和?在这种情况下,我希望得到以下结果: [{a:1,b:1},{a:(5+10),b:2},{a:20,b:3}] 您可以使用和的组合,如下所示: const result=arr.reduce((acc,cur)=>{ const prev=acc.find((项)=>item.b==cur.b) 如果(上一个

对于以下阵列:

[{a:1,b:1},{a:5,b:2},{a:10,b:2},{a:20,b:3}]
如何获得一个新数组,该数组将具有相同属性值
b
的元素组合在一起,并对属性
a
的值求和?在这种情况下,我希望得到以下结果:

[{a:1,b:1},{a:(5+10),b:2},{a:20,b:3}]

您可以使用和的组合,如下所示:

const result=arr.reduce((acc,cur)=>{
const prev=acc.find((项)=>item.b==cur.b)
如果(上一个){
上一个a+=当前a
}否则{
附件推送(当前)
}
返回acc
}, [])