数组快速去重的方法
时间: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());
推荐阅读:
扫描二维码,在手机上阅读