以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
在前端,可以使用 JavaScript 的 Array 的 filter 和 find 方法来达到这个目标。我们可以先定义一个函数,用于判断一个对象是否存在于数组中,然后使用 filter 方法过滤掉重复的项。以下是一个示例代码:
const date = [
{name:"张三",sex:"男",id:1},
{name:"李四",sex:"女",id:2},
{name:"王五",sex:"男",id:3},
{name:"我家哥哥",sex:"女",id:4},
];
const data = [
{name:"小李",sex:"男",id:5},
{name:"小明",sex:"男",id:6},
{name:"小黄",sex:"男",id:7},
{name:"我家哥哥",sex:"女",id:4}, // 这里和 date 中的 "我家哥哥" 是重复的
];
const combinedArray = date.concat(data); // 先合并两个数组
const uniqueArray = combinedArray.filter((item, index) => {
return combinedArray.findIndex(t => t.name === item.name && t.id === item.id) === index; // 判断当前项是否存在于数组中,如果不存在说明是重复的已去除
});
console.log(uniqueArray); // 输出处理后的新数组
这个代码中,我们首先合并了两个数组 date 和 data。然后,我们使用 filter 方法遍历数组中的每一项,对于每一项,我们使用 findIndex 方法找到该项在数组中的位置。如果该项在数组中的位置与其索引相同(即它是唯一的),则返回 true,否则返回 false。这样,filter 方法会过滤掉重复的项,只留下唯一的项。最后,我们得到了一个新的数组 uniqueArray,它包含了所有的唯一项。