写出js中实现数组去重的两种方法
时间: 2024-11-13 21:41:53 浏览: 4
在JavaScript中,有多种方法可以实现数组去重,以下是其中的两种常见方法:
### 1. 利用Set数据结构(ES6+)
Set是一种特殊的集合数据结构,它不允许重复的值。你可以将数组转换成Set,然后再转回数组,这样就可以去除重复元素。
```javascript
function uniqueArray(arr) {
return [...new Set(arr)];
}
```
示例:
```javascript
let arr = [1, 2, 2, 3, 4, 4];
console.log(uniqueArray(arr)); // 输出 [1, 2, 3, 4]
```
### 2. 使用双重循环遍历(低版本兼容)
如果你需要支持旧版浏览器,可以使用双重循环遍历的方式来检查和删除重复元素。
```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;
}
```
示例:
```javascript
let arr = [1, 2, 2, 3, 4, 4];
console.log(uniqueArray(arr)); // 输出 [1, 2, 3, 4]
```
这两种方法都可以有效去除数组中的重复元素。然而需要注意的是,如果数组元素是复杂的数据结构(如对象),那么简单的相等比较(如 `===`)可能无法达到预期效果,因为它们可能会有不同的引用。在这种情况下,可能需要自定义比较函数。
阅读全文