使用Map
var uniq = function(a){
var map = new Map()
for(let i=0; i<a.length; i++){
let number = a[i] // 1~3
if(number === undefined){continue}
if(map.has(number)){
continue
}
map.set(number, true)
}
return[...map.keys()]
}
- 缺点:兼容性差一点
计数排序思路
var uniq = function(a){
var map = {}
for(let i=0; i<a.length; i++){
let number = a[i] // 1~3
if(number === undefined){continue}
if(number in map){
continue
}
const result = []
for(let key in map){
result.push(parseInt(key))
}
}
return result
- 缺点:只支持字符串;同时有字符串和数字时,无法区分.