前言
使用Array.from()和Set()
因为Set()数据的存储结构原因,同一个元素不可以出现两次,所以将数组的每一个元素传入Set()中,达到去重的效果,然后再用Array.from将Set()结构转化为数组结构。
手写数组去重方法
全部代码如下:
var unique =(a)=>{
const map=new map()
for(let i=0;i<a.length;i++){
let number=a[i]
if(map.has(number)){
continue
}
if(number===undefined){
continue
}
map.set(number,true)
}
return [...map.keys()]
}
首先unique()函数接收一个数组,在函数体内,声明一个名为map对象,然后使用for循环遍历数组,在每一次的for循环中,将每一个元素使用number变量去保存,如果这个变量存在于map中,结束本次循环,进入下一次循环,并且如果本次的number等于undefined时,也结束本次循环,如果不存在,则将本次的元素存入map中,并将元素的值作为key,value为true,直至循环结束后,return出去重后的数组。