实现JavaScript数组去重

来源:互联网 发布:合肥淘宝代运营公司 编辑:程序博客网 时间:2024/05/20 16:13

在JavaScript中对象判断某属性是否已存在可直接利用 in 关键字,但是在数组中,既没有提供原生方法,也不像对象那么好判断。以下方法实现了JavaScript去重的功能。

Array.prototype.unique=function(){    var obj={};   //这里的局部对象便于以下判断是否有重复    for(var i=0;i<this.length;i++){        if(this[i] in obj){            this[i]=this[this.length-1]; // 将该项变为最后一项            this.length=this.length-1;  // 将数组长度-1,并删除最后一项            i--;  // 重新判断该项        }        else{            obj[this[i]]=this[i];        }    }    return arr;}var arr=[1,2,3,1,2,3];arr.unique();
原创粉丝点击