数组去重的方法和实现代码
时间: 2024-11-06 20:18:33 浏览: 10
JS实现数组去重方法总结(六种方法)
5星 · 资源好评率100%
数组去重有许多方法,以下是几种常见的实现:
1. **利用 Set** (ES6 新增):
```javascript
let arr = [1, 2, 2, 3, 4, 4, 5];
let uniqueArr = [...new Set(arr)];
```
Set 是一种不允许有重复元素的数据结构,所以转换为 Set 再转回数组就实现了去重。
2. **使用 Map** (JavaScript 特性):
```javascript
let arr = [1, 2, 2, 3, 4, 4, 5];
let uniqueArr = Array.from(new Map(arr.map((value, index) => [value, index])));
```
这里用 Map 作为中间容器,因为每个元素第一次出现时会自动存储,重复的不会添加第二次。
3. **双重循环**:
```javascript
function uniqueArray(arr) {
let result = [];
for(let i = 0; i < arr.length; i++) {
if(result.indexOf(arr[i]) === -1) {
result.push(arr[i]);
}
}
return result;
}
```
这个方法遍历原数组,如果新元素不在结果数组中,则添加。
4. **利用 indexOf 或 includes**:
```javascript
let arr = [1, 2, 2, 3, 4, 4, 5];
let uniqueArr = arr.filter((value, index, self) => self.indexOf(value) === index);
```
这里使用 filter 方法,每次检查当前元素是否在原数组中首次出现。
以上都是基于 ES5 的解决方案,ES6 后有了更简洁的方法。
阅读全文