码迷,mamicode.com
首页 > 编程语言 > 详细

两个数组对象合并

时间:2019-10-25 18:05:00      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:ems   label   log   cat   let   code   case   foreach   处理   

    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)

两个数组对象合并

标签:ems   label   log   cat   let   code   case   foreach   处理   

原文地址:https://www.cnblogs.com/zddzz/p/11739219.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!