日期:2014-05-16 浏览次数:20501 次
Array.prototype.removeRepeatAttr=function(){
var tmp={},b=[],a=this;
for(var i=0;i<a.length;i++){
if(!tmp[a[i].id]){
b.push(a[i]);
tmp[a[i].id]=!0;
}
};
return b;
}
var a=[{"id":"1231"}, {"id":"9387"}, {"id":"68433"}, {"id":"1231"}, {"id":"43566"}];
a=a.removeRepeatAttr();
for(var i=0;i<a.length;i++){
alert(a[i].id)
}
------解决方案--------------------
修正一下那个扩展方法,使其作用于自身
Array.prototype.removeRepeatAttr=function(){
var tmp={},b=[],a=this;
for(var i=0;i<a.length;i++){
if(!tmp[a[i].id]){
tmp[a[i].id]=!0;
}else{
a.splice(i,1);
}
};
}
var a=[{"id":"1231"}, {"id":"9387"}, {"id":"68433"}, {"id":"1231"}, {"id":"43566"}];
a.removeRepeatAttr();
for(var i=0;i<a.length;i++){
alert(a[i].id)
}
------解决方案--------------------
这个只能写算法排重