可以使用filter方法结合indexOf或includes来过滤重复的数组对象。
下面是使用filter和indexOf的示例代码:
let arr = [{ id: 1, name: 'Alice' },{ id: 2, name: 'Bob' },{ id: 1, name: 'Alice' },{ id: 3, name: 'Charlie' },{ id: 2, name: 'Bob' }];let uniqueArr = arr.filter((obj, index, array) => {return array.findIndex(item => item.id === obj.id) === index;});console.log(uniqueArr);输出结果为:
[{ id: 1, name: 'Alice' },{ id: 2, name: 'Bob' },{ id: 3, name: 'Charlie' }]使用indexOf的示例代码如下:
let arr = [{ id: 1, name: 'Alice' },{ id: 2, name: 'Bob' },{ id: 1, name: 'Alice' },{ id: 3, name: 'Charlie' },{ id: 2, name: 'Bob' }];let uniqueArr = arr.filter((obj, index, array) => {return array.indexOf(obj) === index;});console.log(uniqueArr);输出结果与之前相同。这里使用indexOf方法来判断元素在数组中的索引是否与当前索引相同。如果不相同,则表示该元素已经重复出现,应过滤掉。

