2017年12月5日 周二。
ng2中数组合并值相加(根据名称相同合并金额)
方法一:这种方法只适用于单一条件合并。
let data = [
{name:"A",count:15},
{name:"B",count:20},
{name:"A",count:15}
];
let obj = {};
let arr = [];
data.forEach(m=>{
let name = m.name;
if(!obj[name]){
obj[name] = m.count;
arr.push(m);
}
else{
arr.forEach(e=>{
if(e.name === name){
e.count += m.count;
}
})
}
});
console.log(arr);
得出的结果是
===================
更2017-12-19 还是周二。
之前写的太复杂,又写了一个新的。
let data = [
{names:{"id":1,"name":"A"},ages:{"id":1,"age":"22"},count:3500},
{names:{"id":1,"name":"B"},ages:{"id":1,"age":"23"},count:3000},
{names:{"id":1,"name":"A"},ages:{"id":1,"age":"22"},count:3500},
{names:{"id":1,"name":"A"},ages:{"id":1,"age":"25"},count:3500},
];
_.each(data,function(item,index){
let has=false;
_.each(temp,function(t,i){ if(item.names.name==t.names.name&&item.ages.age==t.ages.age){
has=true;
t.count+=item.count;
}
});
if(has!=true){
temp.push(item);
};
})
ok.sea