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