function uniq(arr){
let map = new Map()
for(let i = 0; i < arr.length; i++){
let number = arr[i]
if(number === undefined){
continue
}
if(map.has(number)){
continue
}
map.set(number, true)
}
return [...map.keys()]
}
let arr = [1,undefined,2,3,'3',5,5]
console.log(uniq(arr));
使用 Map,缺点是兼容性差了一点, 兼容不了IE
当然也可以使用indexOf, filter, includes 等一些API也是可以实现的