首页 > 代码库 > 数组去重的几种方式

数组去重的几种方式

方案一:

首先会想到的方式:

/**
     * removeRepetition [去重复]
     * */
    function removeRepetition(arr) {
      var tmp = [];
      for(var i in arr) {
        //该元素在tmp中不存在才允许添加
        if (tmp.indexOf(arr[i])===-1) {
          tmp.push(arr[i]);
        }
      }
      return tmp;
    }

方案二:

function removeRepetition(arr){
    let obj = arr.reduce(function(obj,val) {
        if(obj[val]) {
            obj[val] += 1;
        }else {
            obj[val] = 1;
        }
        return obj;
    }, {});
    return obj.keys();
}

 

数组去重的几种方式