在JavaScript中,数组去重是指从数组中移除重复的元素,只保留唯一的元素。以下是几种数组去重的方法及其实例代码。
Set
对象
使用Set
是ES6中引入的一个新的数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // 输出: [1, 2, 3, 4, 5]
filter()
方法
使用filter()
方法创建一个新数组,其包含通过所提供函数实现的测试的所有元素。可以利用这个方法和indexOf()
来去重。
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = array.filter((item, index) => array.indexOf(item) === index);
console.log(uniqueArray); // 输出: [1, 2, 3, 4, 5]
reduce()
方法
使用reduce()
方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = array.reduce((prev, cur) => {
if (!prev.includes(cur)) {
prev.push(cur);
}
return prev;
}, []);
console.log(uniqueArray); // 输出: [1, 2, 3, 4, 5]
forEach()
和includes()
使用结合forEach()
遍历和includes()
检查可以实现去重。
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = [];
array.forEach(item => {
if (!uniqueArray.includes(item)) {
uniqueArray.push(item);
}
});
console.log(uniqueArray); // 输出: [1, 2, 3, 4, 5]
以上是几种常见的JavaScript数组去重方法及其实例代码。每种方法都有其适用场景,可以根据具体需求选择合适的方法.