js数组去重 简单的方法
时间: 2023-10-25 20:31:54 浏览: 50
可以使用Set数据结构来简单地去重一个JavaScript数组。Set是一种集合,它只存储唯一的值。我们可以将数组转换为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]`
在这个方法中,首先通过`new Set(array)`将数组转换为Set,然后使用扩展运算符`[...set]`将Set转换回数组。Set会自动过滤重复的值,所以最终得到的数组就是去重后的结果。
注意:这种方法只适用于基本类型的数组,对于包含对象或复杂数据结构的数组,需要使用其他方法进行深度比较去重。
相关问题
js 数组去重的方法
有几种方法可以实现JavaScript数组去重。其中一种方法是利用ES6的延展运算符和Set数据结构来去重。你可以先创建一个Set对象,然后使用延展运算符将原数组中的元素添加到Set中去重,最后再将Set对象转为数组即可得到去重后的结果。例如,你可以使用以下代码实现数组去重:
```
var arr = [1, 9, 8, 8, 7, 2, 5, 3, 3, 3, 2, 3, 1, 4, 5, 444, 55, 22];
function noRepeat(arr){
var newArr = [...new Set(arr)];
return newArr;
}
var arr2 = noRepeat(arr);
console.log(arr2);
```
另外一种方法是利用filter()方法进行去重。你可以遍历数组,使用filter()方法筛选出数组中没有重复的元素,然后返回筛选后的新数组。下面是一个使用filter()方法进行数组去重的示例代码:
```
var arr = [1, 9, 8, 8, 7, 2, 5, 3, 3, 3, 2, 3, 1, 4, 5, 444, 55, 22];
function noRepeat(arr){
var newArr = arr.filter((item, index) => {
return arr.indexOf(item) === index;
});
return newArr;
}
var arr2 = noRepeat(arr);
console.log(arr2);
```
这样就可以得到去重后的数组。希望这些方法对你有帮助!<span class="em">1</span><span class="em">2</span>
#### 引用[.reference_title]
- *1* [js数组去重常见的七种方法](https://blog.csdn.net/Lguorong/article/details/124301325)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [基于js+html+css复杂商城页面](https://download.csdn.net/download/qi_ming88/88280158)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
js数组去重es6方法
在ES6中,有几种方法可以用于数组去重。以下是其中几种常用的方法:
1. 使用Set:ES6中引入了Set数据结构,它类似于数组,但是成员的值都是唯一的。可以通过将数组转换为Set,然后再将Set转换回数组的方式实现去重。
```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]
```
2. 使用Array.filter():可以使用Array.filter()方法结合indexOf()方法来过滤掉重复的元素。
```javascript
const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = arr.filter((item, index) => {
return arr.indexOf(item) === index;
});
console.log(uniqueArr); // [1, 2, 3, 4, 5]
```
3. 使用Array.reduce():可以使用Array.reduce()方法来遍历数组,并将不重复的元素添加到一个新数组中。
```javascript
const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = arr.reduce((prev, cur) => {
if (!prev.includes(cur)) {
prev.push(cur);
}
return prev;
}, []);
console.log(uniqueArr); // [1, 2, 3, 4, 5]
```