一、使用 Set JavaScript 的 Set 对象允许你存储唯一值,因此可以通过将数组转换为 Set 然后再转换回数组来去重。
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // [1, 2, 3, 4, 5]
二、使用 filter 和 indexOf 还可以使用数组的 filter 方法和 indexOf 方法结合去重。filter 方法会遍历数组,对每个元素执行回调函数,并返回回调函数返回 true 的元素组成的新数组。
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = array.filter((item, index, arr) => arr.indexOf(item) === index);
console.log(uniqueArray); // [1, 2, 3, 4, 5]
三、使用 reduce 方法也可以实现去重。
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = array.reduce((acc, current) => {
if (acc.indexOf(current) === -1) {
acc.push(current);
}
return acc;
}, []);
console.log(uniqueArray); // [1, 2, 3, 4, 5]