arr = [
{
id: "1",
name: "1"
},
{
id: "2",
name: "2"
},
{
id: "3",
name: "3"
}
]
arr1 = [
{
id: "1",
name: "3"
},
{
id: "4",
name: "4"
},
{
id: "5",
name: "5"
}
]
//使arr1与arr中,id重复的arr1替换arr,然后arr1多余的对象id清空得到的结果大概是这样的,
temp = [
{
id: "1",
name: "3"
},
{
id: "",
name: "4"
},
{
id: "",
name: "5"
}
]
arr1.map((item) => {
arr.some((item2) => item2.id == item.id) ? item.id : (item.id = '');
});
console.log(arr1);
这是我自己用比较复杂的方法做的,有什么比较简单的方法吗
let temp = [];
for(let i=0;i<arr1.length;i++){
for(let j=0;j<arr.length;j++){
if(arr1[i].id==arr[i].id){
temp.push(arr1[i])
}else{
arr1[i].id="";
temp.push(arr1[i]);
}
}
}
temp = new Set(temp);
console.log("temp",[...temp]);