9. 数组去重有哪些方式?
约 385 字大约 1 分钟
2025-03-12
有几种常见的方法可以对数组进行去重:
方法一、使用 Set
去重
通过将数组转换为 Set,Set 只会保留唯一的值。然后再将 Set 转换回数组。
const arr = [1, 2, 2, 3, 3, 4, 5, 5];
const uniqueArr = Array.from(new Set(arr));
方法二、使用Array.indexOf()
或 Array.includes()
遍历数组
使用 Array.indexOf()
或 Array.includes()
方法,通过遍历数组,来判断是否已待筛选元素经存在于新数组中。
// includes
const arr = [1, 2, 2, 3, 3, 4, 5, 5];
const uniqueArr = [];
arr.forEach((item) => {
if (!uniqueArr.includes(item)) {
uniqueArr.push(item);
}
});
// indexOf
const arr = [1, 2, 2, 3, 3, 4, 5, 5];
const uniqueArr = [];
arr.forEach((item) => {
if (uniqueArr.indexOf(item) < 0) {
uniqueArr.push(item);
}
});
方法三、使用Array.filter()
和 Array.indexOf()
过滤
使用 filter
方法:通过使用 filter 方法,只保留数组中第一个出现的元素。
const arr = [1, 2, 2, 3, 3, 4, 5, 5];
const uniqueArr = arr.filter((item, index) => arr.indexOf(item) === index);
方法四、使用 Array.reduce()
比较
使用 reduce
方法:通过使用 reduce 方法,将数组的每个元素与结果数组进行比较,如果结果数组中不存在该元素,则将其添加到结果数组中。
const arr = [1, 2, 2, 3, 3, 4, 5, 5];
const uniqueArr = arr.reduce((result, item) => {
if (!result.includes(item)) {
result.push(item);
}
return result;
}, []);
结语
这些是一些常见的数组去重方法,你可以根据实际情况选择适合你的方法。
数组内元素为复杂对象的时候,排序方式需要按照实际需求,以两层循环的方式解决
更新日志
2025/8/24 08:17
查看所有更新日志
e7112
-1于