两个数组的长度不固定 找出两个数组中id相同的元素合并成一个新的对象并放在数组里
这个怎么写比较好?不用map和for怎么比较简单?
let arr1 = [{id:1,name:'张三'},{id:4,name:'李四'},{id:57,name:'狗剩'}]
let arr2 = [{id:7,age:25},{id:3,age:44},{id:4,age:22},{id:11,age:34}]
合并结果
[
{id:4,name:'李四',age:22}
]
let arr = []
let obj = {}
arr1.map(item=>{
arr2.map(item2=>{
if(item.id==item2.id){
obj.id = item.id
obj.name = item.name
obj.age = item2.age
arr.push(obj)
}
})
})
console.log(arr)
两个数组都遍历一次,O(m + n)
比两层循环的 O(m * n) 简单