数组合并值相加

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);

得出的结果是
数组合并值相加_第1张图片

===================
更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

你可能感兴趣的:(ng2)