es6数组去重

admin 36 0

在ES6中,可以使用以下几种方法对数组进行去重:

1. 使用Set:Set数据结构本身就具有去重的特性,因此可以将数组转换为Set,然后再转回数组即可。

let arr = [1, 2, 3, 4, 5, 3, 2];
let set = new Set(arr);
let uniqueArr = Array.from(set);
console.log(uniqueArr); // [1, 2, 3, 4, 5]

2. 使用reduce方法:reduce方法可以对数组进行归约操作,同时也可以利用它来去重,通过reduce方法将数组中的元素归约为一个值,相同的元素会被归约为同一个值,从而达到去重的目的。

let arr = [1, 2, 3, 4, 5, 3, 2];
let uniqueArr = arr.reduce((accumulator, currentValue) => {
  if (!accumulator.includes(currentValue)) {
    accumulator.push(currentValue);
  }
  return accumulator;
}, []);
console.log(uniqueArr); // [1, 2, 3, 4, 5]

3. 使用filter方法:filter方法可以创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,可以利用这个特性来去重,将数组中的重复元素过滤掉。

let arr = [1, 2, 3, 4, 5, 3, 2];
let uniqueArr = arr.filter((value, index, self) => {
  return self.indexOf(value) === index;
});
console.log(uniqueArr); // [1, 2, 3, 4, 5]

以上是ES6中常用的几种去重方法,可以根据具体的需求选择适合的方法进行去重操作。