es6数组去重
时间: 2023-06-22 07:19:35 浏览: 124
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特性实现数组去重
在ES6中,可以通过多种方法实现数组去重。以下是几种常见的方法:
#### 方法一:使用 `Set` 和扩展运算符
`Set` 是 ES6 引入的一种数据结构,它只允许存储唯一的值。通过将数组转换为 `Set`,可以自动去除重复的元素。然后使用扩展运算符 `[...]` 将 `Set` 转换回数组[^1]。
```javascript
const arr = [1, 2, 3, 4, 4, 5, 5, 6, 6];
const uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // 输出: [1, 2, 3, 4, 5, 6]
```
#### 方法二:使用 `Array.from` 和 `Set`
另一种方式是结合 `Set` 和 `Array.from` 方法。`Array.from` 可以将类数组对象或可迭代对象转换为真正的数组[^4]。
```javascript
let arr = [1, 1, 1, 2, 2, 3, 3, 3, 4, 4];
let set = new Set(arr);
let uniqueArr = Array.from(set);
console.log(uniqueArr); // 输出: [1, 2, 3, 4]
```
#### 方法三:使用 `filter` 和 `indexOf`
除了利用 `Set`,还可以通过 `filter` 和 `indexOf` 的组合来实现数组去重。`indexOf` 方法返回数组中某个指定元素的第一个索引,如果当前元素的索引与 `indexOf` 返回的索引相同,则说明它是第一次出现[^2]。
```javascript
var arr = [1, 2, 3, 2, 2, 4, 5, 6];
var uniqueArr = arr.filter((item, index) => arr.indexOf(item) === index);
console.log(uniqueArr); // 输出: [1, 2, 3, 4, 5, 6]
```
#### 方法四:使用 `reduce` 实现数组去重
`reduce` 方法可以用来遍历数组,并通过累加器收集唯一值。这种方法更加灵活,适合处理复杂场景下的去重需求[^3]。
```javascript
const arr = [1, 2, 3, 2, 2, 4, 5, 6];
const uniqueArr = arr.reduce((acc, cur) => {
if (!acc.includes(cur)) {
acc.push(cur);
}
return acc;
}, []);
console.log(uniqueArr); // 输出: [1, 2, 3, 4, 5, 6]
```
以上方法各有优劣,具体选择取决于实际应用场景和性能要求。
js es6数组去重
你可以使用ES6中的Set数据结构来实现数组去重。Set是一种不重复的值的集合,可以用于去除数组中的重复元素。下面是一个简单的示例代码:
```javascript
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // 输出: [1, 2, 3, 4, 5]
```
在上述代码中,我们首先创建了一个Set数据结构,并将数组中的元素传递给它。然后,使用扩展运算符 (...) 将Set转换回数组形式,并将结果赋给uniqueArray变量。这样就得到了一个不包含重复元素的新数组。
希望对你有所帮助!如果有任何其他问题,请随时提问。
阅读全文
相关推荐















