需求:有A和B两个数组,数组中包含对象,对象中有公共的key,需要先把A和B数组合并,然后把key值相同的去重。
数组如下:
let arrA = [
{
name: "张三",
age: "18",
id: "1",
sex: "男",
},
{
name: "张三11",
age: "19",
id: "2",
sex: "男",
},
{
name: "张三22",
age: "20",
id: "3",
sex: "男",
},
];
let arrB = [
{
name: "李四》》》》",
age: "19",
id: "2",
sex: "女",
},
{
name: "666",
age: "19",
id: "4",
sex: "男",
},
{
name: "777",
age: "19",
id: "5",
sex: "男",
},
];
合并去重
const mergeData = arrA.concat(arrB);
const result = mergeData.reduce((cur, next) => {
const repeat = cur.some((item) => {
return item.id === next.id;
});
if (!repeat) {
return cur.concat([next]);
} else {
return cur;
}
}, []);
console.log(result, "合并去重之后返回新数组");
Tips:
觉得有用可以点个关注讷,有问题可以私信我