数组怎么去重

1个回答

写回答

13301385016

2022年03月02日

+ 关注

1.使用Set数据结构去重

可以使用Set数据结构创建一个不重复的数组,然后将原数组中的元素遍历添加进去。

```javascript

letarr=[1,2,3,3,4,4,5];

letnewArr=[...newSet(arr)];

console.log(newArr);//[1,2,3,4,5]

```

2.使用filter方法去重

使用filter方法,遍历原数组,通过判断元素第一次出现的位置和当前位置是否相同来过滤掉重复元素。

```javascript

letarr=[1,2,3,3,4,4,5];

letnewArr=arr.filter((item,index,array)=>{

returnarray.indexOf(item)===index;

});

console.log(newArr);//[1,2,3,4,5]

```

3.使用reduce方法去重

使用reduce方法,遍历原数组,将元素添加到一个新数组中,如果当前元素已经存在于新数组中,则不添加。

```javascript

letarr=[1,2,3,3,4,4,5];

letnewArr=arr.reduce((prev,cur)=>{

if(!prev.includes(cur)){

prev.push(cur);

}

returnprev;

},[]);

console.log(newArr);//[1,2,3,4,5]

```

4.使用Map数据结构去重

使用Map数据结构,遍历原数组,将元素作为键值添加到Map中,最后返回Map中的键值数组。

```javascript

letarr=[1,2,3,3,4,4,5];

letmap=newMap();

arr.forEach(item=>{

map.set(item,item);

});

letnewArr=Array.from(map.values());

console.log(newArr);//[1,2,3,4,5]

```

举报有用(13分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号