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)
原文地址:https://www.cnblogs.com/zddzz/p/11739219.html
时间: 2024-11-06 12:45:06