其他分享
首页 > 其他分享> > 数组去重

数组去重

作者:互联网

1.遍历+indexof

思路:创建新素组,遍历需要去重的数组,通过indexOf查找arr2里的值,把没有的值添加到新数组

(此方法无法对NaN去重)

indexOf() 方法:返回匹配到值的索引,没有则返回-1

let arr1 =[1,2,3,3,3,4,4,5]

let arr2=[]

for(let i of arr1 ){
if(arr2.indexOf(i)===-1){
  arr2.push(i)
   }
}

 

2.includes 和indexof一样,但是他可以判断NaN

 

3.双重for循环去重 

原理 两两比较如果相等的话就删除第二个 
例如: 1,2,3,4,5,3,7,8
先让第一个1 即arr[0]与后面的一个个比较 如果后面的值等于arr[0] 删除后面的值 
第一次结束后的结果是 1,2,3,4,5,7,8 删除了后面所有的3
同理 第二次 第三会删除与自己相同的元素

 

4.利用Set()+Array.from()

const arr = [1, 2, 2, 'abc', 'abc', true, true, false, false, undefined, undefined, NaN, NaN]

const result = Array.from(new Set(arr))

console.log(result) // [ 1, 2, 'abc', true, false, undefined, NaN ]

标签:arr,Set,false,NaN,arr2,数组
来源: https://www.cnblogs.com/chuge/p/16505452.html