数组去重

Array.prototype.unique = function() {  //IE系列均不兼容

  var temp = {};//声明对象用于后面判断数组arr中是否已经存在某元素
  var arr = [];
  var length = this.length;

  if(new Set()){//判断用户浏览器是否支持ES6语法

    arr = Array.from(new Set(this));//数组与Set集合间的转换
   }else{
    for (var i = 0; i < length; i++) {
      
if (!temp[this[i]]) {//借助对象判断数组内是否有该元素
        temp[this[i]] = true;         arr.push(this[i]);        }
     }    }   
return arr; };

 indexOf方法,IE9+

    function unique(arr){
        var array = [];

        for (var i in arr){
            if(array.indexOf(arr[i]) === -1){
                array.push(arr[i]);
            }
        }

        return array;
    }

 

posted @ 2018-06-14 16:58  0恋晨曦0  Views(124)  Comments(0)    收藏  举报