最近写购物车时遇到将数组中每一项id相同的数据合并,同时将id相同的数据的表示个数的参数相加(表达的可能不太清除,直接举例上数据如下):
原数组:
var ar=[{“actnum”:1,“goods_id”:623,“goods_name”:"IDPNa Vigi+剩余电流动作保护断路器 ",“act”:“t”},
{“actnum”:1,“goods_id”:622,“goods_name”:“继电器”,“act”:“t”},
{“actnum”:1,“goods_id”:624,“goods_name”:“TeSys D 三极接触器, 9A, 220 V, 50/60Hz”,“act”:“t”},
{“actnum”:2,“goods_id”:623,“goods_name”:"IDPNa Vigi+剩余电流动作保护断路器 ,“act”:“t”},
{“actnum”:3,“goods_id”:624,“goods_name”:“TeSys D 三极接触器, 9A, 220 V, 50/60Hz”,“act”:“t”}]
处理要求:
goods_id相同的数据合并,同时将合并数据的actnum相加。
处理后数组:
var arr2=[{“actnum”:3,“goods_id”:623,“goods_name”:"IDPNa Vigi+剩余电流动作保护断路器 ",“act”:“t”},
{“actnum”:1,“goods_id”:622,“goods_name”:“继电器”,“act”:“t”},
{“actnum”:4,“goods_id”:624,“goods_name”:“TeSys D 三极接触器, 9A, 220 V, 50/60Hz”,“act”:“t”}}]
封装后函数如下:
function handle(arr){
if(arr.length==0)