数组去重的几种方式

方案一:

首先会想到的方式:

/**
     * 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();
}

 

posted @ 2017-05-11 13:14  echo2016  阅读(201)  评论(0编辑  收藏  举报