通过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

            }

这样就是正确的。

原文地址:https://www.cnblogs.com/kingwell/p/2554977.html