js嵌套循环,我绕晕了


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