两个数组合并,相同id合并属性,不同id push

416 阅读1分钟

合并数组,相同项合并属性,不同push

let arr=[{id:1,name:'dylan'},{id:2,name:'kebi'}]
let arr1=[{id:1,position:'ceo'},{id:3,position:'sales'}]
let list=arr.reduce((pre,cur)=>{
  let target=pre.find(ee=>ee.id == cur.id)
  if(target){
    Object.assign(target,cur)
  }else{
    pre.push(cur)
  }
  return pre
},arr1)
console.log(list)