编写一个方法,去掉数组中重复元素

//排序后相邻去除法
  arr=[1,2,5,1,3,7,9,5];
   function unique(arr){
       arr.sort();
       var _arr=[arr[0]];//结果数组
          for(var i=0;i<arr.length;i++){
            if(arr[i]!=_arr[_arr.length-1]){
               _arr.push(arr[i]);
                }
          }
        
   return _arr;
        
   }
   unique(arr);
  
//遍历数组法
  if(Array.prototype.indexOf===-1){
      Array.prototype.indexOf=function(value,fromi){
          fromi===undefined&&(fromi=0);
             for(var i=fromi;i<this.length;i++){
             if(this[i]=value){
                  return true;
             }else{
                  return -1;
              }
        }
      }
  }
   arr=[1,2,5,1,3,7,9,5]
   function unique(arr){
       var _arr=[];//新建临时数组
       for(var i=0;i<arr.length;i++){
           if(_arr.indexOf(arr[i])==-1){//如果arr的第i已经保存进了_arr,那么跳过,
        //否则把当前项push到临时数组里面(没有在_arr中出现过(-1))
                 _arr.push(arr[i]);
           }
       }
     return _arr;
    
   }
   console.log(String(unique(arr)));

 *先解决ie8的兼容问题

posted @ 2016-06-19 07:29  cold_coffee  阅读(8459)  评论(0编辑  收藏  举报