如何在Jquery中对对象进行分组和求和?

我想按ID分组数组和Jquery中的数量总和? 例如:

var array=[ {Id:"001",qty:1}, {Id:"002",qty:2}, {Id:"001",qty:2}, {Id:"003",qty:4} ] 

在我按ID分组后,我会得到新的数组,如:

  [ {Id:"001",qty:3}, {Id:"002",qty:2}, {Id:"003",qty:4} ] 

你可以循环并总结它

 var result = []; array.reduce(function (res, value) { if (!res[value.Id]) { res[value.Id] = { qty: 0, Id: value.Id }; result.push(res[value.Id]) } res[value.Id].qty += value.qty return res; }, {}); 

演示: 小提琴

 var newArr = []; $.each(array,function(index,element){ if(newArr[element.Id]==undefined){ newArr[element.Id] =0; } newArr[element.Id] += element.qty; }); console.log(newArr); 

演示