两个数组对象合并


    let array = [{label:9000,items:[{a:'相同'}]},{label:2000,items:[{a:'相同'}]}, {label:8000,items:[{a:''}]}];
    let temp = [{label:9000,items:[{b:'相同2'}]}, {label:5000,items:[{b:''}]}];
处理为下面的这种
[{label:9000,items:[{a:'相同'},{b:'相同2'}]},{label:2000,items:[{a:'相同'}]}, {label:8000,items:[{a:''}]}, {label:5000,items:[{b:''}]}];

array.forEach(item=>{
    //case1:如果array里的label:9000在temp里也有label:9000,就把这个label所在对象的items里的对象给temp里的label:9000所对应的items
    //case2:如果temp里没有label=8000这一项 就把这一项的对象push给temp
    let has;
    temp.forEach(item1=>{
      if(item.label==item1.label){
        has=true;
        item1.items=item.items.concat(item1.items);
      }
    })
    if(!has){
      temp.push(item)
    }
  })
  console.log(temp)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM