通过Prototype属性添加Array删除重复数据方法

删除Array重复元素的方法:

<script type="text/javascript">  

Array.prototype.del=function(){

    var n=[];

    if(this.length<1){return this}
    for(var i=0; i<this.length; i++){
        var st=false
        for(var j=0; j<n.length; j++){

            if(this[i].toString() == n[j].toString()){
            st=true

            }
        }

        if(!st){
        n.push(this[i]);
        }

    }
        return n;
    }
    var m=[0,2,2,2,2,3,3,3,5,5,6,6,7,7,8]
    alert(m+"\n"+m.del())

 


</script>

 

试试吧,很简单的。

 

这里需要注意一个问题,大家看看下面的:

 

var m=[0,0,0,0,1,1,5,5,5,5,"0"]

 

alert(m.del)  //  output    0,1,5

0跟“0”是不一样的,一个是Number ,一个是String

 

如果想要输出  //0,1,5,0

 

上面的就要必动一下,

if(this[i].toString() === n[j].toString()){
            st=true

            }

 

这样就是正确的。

posted @ 2012-06-19 16:39  kingwell  阅读(373)  评论(0编辑  收藏  举报