es6数组怎么筛选出所有重复项

avatar
作者
猴君
阅读量:5

可以使用Set数据结构来筛选出所有重复项。Set是ES6新增的一种数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。

下面是一个使用Set筛选重复项的示例代码:

const arr = [1, 2, 3, 4, 4, 5, 6, 6, 7, 8]; const set = new Set(); const duplicateItems = arr.filter((item) => { if (set.has(item)) { return true; } else { set.add(item); return false; } }); console.log(duplicateItems); // 输出 [4, 6] 

首先,我们创建一个空的Set实例。然后,使用filter方法遍历数组中的每个元素。如果Set中已经存在该元素,则说明是重复项,将其返回,否则将该元素添加到Set中,返回false。最终,筛选出的重复项就是duplicateItems数组。

这种方法的时间复杂度是O(n),效率较高。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!