怎么用filter过滤重复数组对象

   2025-02-20 8110
核心提示:可以使用filter方法结合indexOf或includes来过滤重复的数组对象。下面是使用filter和indexOf的示例代码:let arr = [{ id: 1, na

可以使用filter方法结合indexOfincludes来过滤重复的数组对象。

下面是使用filterindexOf的示例代码:

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方法来判断元素在数组中的索引是否与当前索引相同。如果不相同,则表示该元素已经重复出现,应过滤掉。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言