如何在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);
演示