js怎么去重数组

原创
ithorizon 8个月前 (08-19) 阅读数 115 #Javascript

在JavaScript中,有多种方法可以用来去除数组中的重复元素。下面是一些常见的方法:

1. 使用Set

let arr = [1, 2, 2, 3, 4, 4, 5];

let uniqueArr = [...new Set(arr)];

console.log(uniqueArr); // 输出 [1, 2, 3, 4, 5]

2. 使用filter

let arr = [1, 2, 2, 3, 4, 4, 5];

let uniqueArr = arr.filter((value, index, self) => {

return self.indexOf(value) === index;

});

console.log(uniqueArr); // 输出 [1, 2, 3, 4, 5]

3. 使用reduce

let arr = [1, 2, 2, 3, 4, 4, 5];

let uniqueArr = arr.reduce((accumulator, current) => {

return accumulator.includes(current) ? accumulator : [...accumulator, current];

}, []);

console.log(uniqueArr); // 输出 [1, 2, 3, 4, 5]

4. 使用Map

let arr = [1, 2, 2, 3, 4, 4, 5];

let map = new Map();

let uniqueArr = arr.filter(item => !map.has(item) && map.set(item, 1));

console.log(uniqueArr); // 输出 [1, 2, 3, 4, 5]

5. 使用forEach和Array.from

let arr = [1, 2, 2, 3, 4, 4, 5];

let uniqueArr = Array.from(new Set(arr));

console.log(uniqueArr); // 输出 [1, 2, 3, 4, 5]

在这些方法中,使用Set是最明了和最直观的,基于它直接创建一个没有重复元素的集合。但是,如果数组中的元素是对象或者需要保持元素的原始顺序,那么大概需要选择其他方法。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: Javascript


热门