let arr1 = [{name:'abc',list:[{uuid:1,type:'ccc'},{uuid:2,type:'yyy'}]}]
let arr2 = [{name:'aaa',list:[{uuid:1,type:'ppp'},{uuid:2,type:'ooo'}]},{name:'abd',list:[{uuid:5,type:'ttt'},{uuid:6,type:'kkk'}]}]
需得结果 arr2 = [{name:'aaa',list:[{uuid:1,type:'ccc'},{uuid:2,type:'yyy'}]},{name:'abd',list:[{uuid:5,type:'ttt'},{uuid:6,type:'kkk'}]}]
如果arr1里面的list中的uuid与arr2中的uuid相同,就把arr2里面的list中的uuid所在的对象替换arr1里面的list中的uuid所在的对象
// 如果arr1里面的list中的uuid与arr2中的uuid相同,就把arr2里面的list中的uuid所在的对象替换arr1里面的list中的uuid所在的对象
var arr1 = [{
name: 'abc',
list: [{
uuid: 1,
type: 'ccc'
}, {
uuid: 2,
type: 'yyy'
}]
}];
var arr2 = [{
name: 'aaa',
list: [{
uuid: 1,
type: 'ppp'
}, {
uuid: 2,
type: 'ooo'
}]
}, {
name: 'abd',
list: [{
uuid: 5,
type: 'ttt'
}, {
uuid: 6,
type: 'kkk'
}]
}];
// 需得结果 arr2 = [{name:'aaa',list:[{uuid:1,type:'ccc'},{uuid:2,type:'yyy'}]},{name:'abd',list:[{uuid:5,type:'ttt'},{uuid:6,type:'kkk'}]}]
var arr1_uuid_arr = [];
var arr2_new = [];
var obj = {};//根据对象不能重复的原则
for (var i = 0; i < arr1.length; i++) {
for (var j = 0; j < arr1[i].list.length; j++) {
if(!obj[arr1[i].list[j].uuid]){
obj[arr1[i].list[j].uuid] = arr1[i].list[j];
}
}
}
for(var i=0;i<arr2.length;i++){
for(var j=0;j<arr2[i].list.length;j++){
if(obj[arr2[i].list[j].uuid]){
arr2[i].list[j] = obj[arr2[i].list[j].uuid];
}
}
}
//大概就是这么个逻辑 有用就点采纳
let count = 0
arr1[0]['list'].forEach(i=>{
arr2[0]['list'].forEach(i2=>{
if(i.uuid==i2.uuid){
arr1[0]['list'][count] = i2
}
})
count+=1
})