简易加油包之 数组去重

128 阅读1分钟

数组去重

  1. 计数排序变形,用 hash
    var arr = [1,8,5,6,4,2,3,8,6,7,5,3];
    var n={}, r=[];
    //  n hash, r temp array
    for(var i=0; i<arr.length; i++){
        if(!n[arr[i]]){
            n[arr[i]]=true;
            //  如果当前项没有在 hash 表里,就放进表中
            r.push(arr[i])
            r.sort();
        }
    }
    console.log(r)
    
  2. 用 WeakMap(待查~)
  3. 用 Set (容易被ban)
    [...new Set(array)]