js去除数组中重复值

//第三种方法加强版
Array.prototype.distinct=function(){
var
sameObj=function(a,b){
var tag = true;
if(!a||!b)return false;

for(var x in a){
if(!b[x])
return false;

if(typeof(a[x])==='object'){
tag=sameObj(a[x],b[x]);
}else{

if(a[x]!==b[x])
return false;
}
}
return tag;
}
var
newArr=[],obj={};
for(var i=0,len=this.length;i<len;i++){

if(!sameObj(obj[typeof(this[i])+this[i]],this[i])){

newArr.push(this[i]);
obj[typeof(this[i])+this[i]]=this[i];
}
}

return newArr;
}

posted @ 2014-11-22 16:58  Coca-code  阅读(154)  评论(0编辑  收藏  举报