es6数组去重
了解ES6数组的去重方法,是每一个前端开发者必须掌握的技能之一。今天,就让我们一起深入探讨这个话题。
ES6数组去重,主要有三种方法。它们分别利用了Set对象、扩展运算符以及Map对象,让我们一一解析。
方法一:利用Set对象和数组的from方法。Set是一种新的数据结构,它类似于数组,但Set中的元素都是唯一的,没有重复值。结合数组的from方法,可以轻松实现数组去重。示例代码如下:
```javascript
const newArr = Array.from(new Set(arr));
```
使用范例:
```javascript
var arr = [1,1,8,8,12,12,15,15,16,16];
function unique (arr) {
return Array.from(new Set(arr));
}
console.log(unique(arr)) // 输出 [1, 8, 12, 15, 16]
```
方法二:利用Set与扩展运算符。这种方法与第一种方法类似,只不过使用了扩展运算符“...”来简化代码。示例代码如下:
```javascript
const newArr = [...new Set(arr)];
```
方法三:利用Map对象与数组的filter方法。Map是一种键值对的数据结构,可以存储唯一的数据。通过filter方法,我们可以过滤出重复的项,从而实现数组去重。使用范例如下:
```javascript
function unique(arr) {
const res = new Map();
return arr.filter((a) => !res.has(a) && res.set(a, 1));
}
```
以上就是ES6数组去重的三种主要方法,各有特色,可以根据实际情况选择适合的方法。希望这些分享能对大家有所帮助,让大家在开发过程中更加得心应手。