手写数组去重

  1. 使用计数排序的思路,缺点是只支持字符串

  2. 使用 Set(面试已经禁止这种了,因为太简单)

  3. 使用 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()]
}

Last updated