«

数组快速去重的方法

时间:2023-7-11 19:46     作者:小诸葛     分类: JavaScript     正在检查是否收录...


一.使用 Set 数据结构:Set 是 ES6 中的一种数据结构,它只能存储唯一的值,可以通过将数组转换为 Set 来去除重复项,然后再将 Set 转换回数组。

const arr = [1, 2, 3, 3, 4, 4, 5];
const uniqueArr = [...new Set(arr)];

二.使用 Array.prototype.filter() 方法:使用 filter() 方法遍历数组,根据元素在数组中的首次出现的索引来确定是否保留该元素。

const arr = [1, 2, 3, 3, 4, 4, 5];
const uniqueArr = arr.filter((value, index, self) => self.indexOf(value) === index);

三.使用 Array.prototype.reduce() 方法:使用 reduce() 方法遍历数组,将元素添加到结果数组中,但仅在结果数组中不存在相同的元素时才添加。

const arr = [1, 2, 3, 3, 4, 4, 5];
const uniqueArr = arr.reduce((result, value) => {
    if (!result.includes(value)) {
        result.push(value);
    }
    return result;
}, []);

四.使用 ES6 中的 map() 方法:使用 map() 方法遍历数组,将元素作为键值对存储在 Map 数据结构中,然后返回 Map 的键数组。

const arr = [1, 2, 3, 3, 4, 4, 5];
const uniqueArr = Array.from(new Map(arr.map(value => [value, value])).values());

数组快速去重的方法

推荐阅读:


扫描二维码,在手机上阅读