ES6去重
时间: 2023-06-22 21:26:07 浏览: 132
ES6 提供了一种非常方便的去重方法,即使用 Set 数据结构。Set 是一种类似于数组的数据结构,但是它的元素是唯一的,不会重复。可以通过将数组转换为 Set,然后再将 Set 转换回数组的方式来进行去重。
以下是使用 ES6 Set 去重的示例代码:
```javascript
const arr = [1, 2, 3, 1, 2, 4];
const set = new Set(arr); // 将数组转换为 Set
const newArr = Array.from(set); // 将 Set 转换为数组
console.log(newArr); // 输出 [1, 2, 3, 4]
```
以上代码中,首先将原始数组转换为 Set,然后再通过 Array.from 方法将 Set 转换为数组,这样就可以得到去重后的新数组了。需要注意的是,Set 转换为数组时可以使用 Array.from 方法,也可以使用扩展运算符(...)的方式转换。
相关问题
es6数组去重
ES6数组去重有很多种方法,其中比较简单的方法是使用Set数据结构,因为Set数据结构中的元素都是唯一的。可以将数组转换为Set,然后再将Set转换回数组即可实现去重。示例代码如下:
```javascript
let arr = [1, 2, 2, 3, 3, 4, 5, 5];
let uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr); // [1, 2, 3, 4, 5]
```
另外,也可以使用ES6中的Map数据结构来实现数组去重。示例代码如下:
```javascript
let arr = [1, 2, 2, 3, 3, 4, 5, 5];
let map = new Map();
let uniqueArr = [];
for (let i = 0; i < arr.length; i++) {
if (!map.has(arr[i])) {
map.set(arr[i], true);
uniqueArr.push(arr[i]);
}
}
console.log(uniqueArr); // [1, 2, 3, 4, 5]
```
这种方法的原理是利用Map数据结构中的键值对都是唯一的特性,将数组中的元素作为键存储在Map中,去重后再将键转换为数组即可。
前端es6 数组去重
ES6 中数组去重有多种方法,这里列举几种常见的:
1. **Set** 集合法:利用 Set 数据结构的特点,它不允许有重复元素,可以将数组转换为 Set,然后再转回数组,实现了去重。
```javascript
let arr = [1, 2, 2, 3, 4, 4];
let uniqueArr = [...new Set(arr)];
```
2. **filter + Array.from** 法:通过 filter 过滤出唯一值,再用 Array.from 转换为数组。
```javascript
let arr = [1, 2, 2, 3, 4, 4];
let uniqueArr = Array.from(new Map(arr.map(item => [item, item])));
```
3. **reduce** 法:使用 reduce 函数迭代数组,根据当前元素和累加器的状态来判断是否需要添加到新数组中。
```javascript
let arr = [1, 2, 2, 3, 4, 4];
let uniqueArr = arr.reduce((acc, cur) => acc.includes(cur) ? acc : [...acc, cur], []);
```
4. **JSON.stringify + JSON.parse** 法:将数组序列化成字符串,然后解析为新的数组,适用于基本类型的数组。
```javascript
let arr = [1, 2, 2, 3, 4, 4];
let uniqueArr = JSON.parse(JSON.stringify(new Set(arr)));
```
注意这种方法对复杂对象无效。
阅读全文