JS代码去除重复值
时间: 2023-07-09 14:21:07 浏览: 47
在JavaScript中,可以使用Set数据结构和Array.from()方法去除重复值。具体代码如下:
```javascript
const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr); // [1, 2, 3, 4, 5]
```
解释一下上述代码:
1. 定义一个含有重复值的数组arr。
2. 通过new Set(arr)创建一个Set数据结构,Set会自动去除重复值。
3. 使用Array.from()方法将Set转化为数组。
4. 输出去重后的数组uniqueArr。
如果要去除的是字符串数组或对象数组的重复值,可以定义一个回调函数来比较数组元素是否相等。具体代码如下:
```javascript
const arr = ['apple', 'banana', 'banana', 'orange', 'pear', 'pear'];
const uniqueArr = arr.filter((item, index, array) => {
return array.indexOf(item) === index;
});
console.log(uniqueArr); // ['apple', 'banana', 'orange', 'pear']
```
解释一下上述代码:
1. 定义一个含有重复字符串的数组arr。
2. 使用Array.prototype.filter()方法过滤出与第一个出现的元素相同的元素。
3. 输出去重后的数组uniqueArr。
需要注意的是,以上方法会改变原数组,如果要保留原数组不变,可以将去重后的数组赋值给一个新变量。