zoukankan      html  css  js  c++  java
  • Javascript数组去重的几种方法

    方法1,提取JQ(来源网络),此方法完整。

    Array.prototype.unique = function(){
        var results=this.sort()
        for ( var i = 1; i < results.length; i++ ) {
            if ( results[i] === results[ i - 1 ] ) {
                results.splice( i--, 1 );
            }
        }
        return results;
    }

    方法2,方法完整。

           Array.prototype.unique = function(){
             var newArray = [],
              temp = {};
                for(var i = 0; i < this.length; i++){
                    temp[typeof(this[i])+this[i]] = this[i];
                }
                for(var j in temp){
                    newArray.push(temp[j]);
                }
                return newArray;
            };

    方法3,不完整。

    Array.prototype.contains = function(item){
    
     return RegExp( "\\b"+item+"\\b").test(this);
    
    };
    
    Array.prototype.unique = function(){
    
        var returnArr = [];
    
       for ( var i = 0 , len = this.length; i < len; i++){
    
          if( !returnArr.contains(this[i]) ) returnArr.push(this[i]);
    
       }
    
       return returnArr;
    
    }

    为什么说前2个是完整的,因为相对不会出现像这样的bug:['1',1]=>1。

  • 相关阅读:
    新浪SAE搭建项目
    PHP ReflectionClass
    自定义时间函数
    mysql 日期函数
    jquery之商城菜单
    jquery之行自加自减
    前端之拖动面板
    商城轮播图
    js之返回网页顶部
    js之搜索框
  • 原文地址:https://www.cnblogs.com/coolicer/p/3000510.html
Copyright © 2011-2022 走看看