日期:2014-05-16 浏览次数:20422 次
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) }
------解决方案--------------------
这个只能写算法排重