首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

JSON数据中,可能会有相同的重复记录,在JS中如何排重呢

2012-11-04 
JSON数据中,可能会有相同的重复记录,在JS中怎么排重呢?比如,JSON如下:{id:1231}, {id:9387}, {id

JSON数据中,可能会有相同的重复记录,在JS中怎么排重呢?
比如,JSON如下: {"id":"1231"}, {"id":"9387"}, {"id":"68433"}, {"id":"1231"}, {"id":"43566"}

这个需要怎么处理,来进行把重复的二个数据,排重为一条呢?

[解决办法]

JScript code
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)}
[解决办法]
修正一下那个扩展方法,使其作用于自身
JScript code
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)}
[解决办法]
这个只能写算法排重

热点排行