JS数组去重 – JSON数组去重
前些天遇到了一个问题,后端传过来一个JSON的数据,然后我这边需要进行操作,然后就遇到了一个比较难的问题,在多重造作的时候会出现数组中重复的情况。
然后用了下面的方法去把json里面的重复数据去除留下一个。
先设定一个json数据,里面有各种重复的数据。
var jsons = [
{"id":"1","name":"CGL1"},
{"id":"1","name":"CGL1"},
{"id":"2","name":"CGL2"},
{"id":"3","name":"CGL3"},
{"id":"4","name":"CGL4"},
{"id":"5","name":"CGL5"},
{"id":"5","name":"CGL5"},
{"id":"6","name":"CGL6"},
{"id":"7","name":"CGL7"},
{"id":"8","name":"CGL8"},
{"id":"9","name":"CGL9"},
]
然后把重复id的数据进行比较(我这里只比较id),一样的id视为重复进行删除,留下一个
//数据去重方法
function repeatNo(jsonSJ) {
//判断数据的长度
if (jsonSJ.length > 0){
Array.prototype.removeRepeat = function(){
var res = [this[0]];
for(var i = 1 ; i< this.length; i++){
var repeat = false;
for(var j=0; j<res.length; j++){
if(this[i].id == res[j].id){
repeat = true;
}
}
if(!repeat){
res.push(this[i]);
}
}
return res;
};
arrylist = jsonSJ.removeRepeat();//去重之后的数据
console.log(arrylist);
}
};
repeatNo(jsons);
然后你在浏览器里面查兰最终的数据就发现,重复的部分已经处理然后留下了一个了。

2 条留言
去留言没毛病
很好 有想法 小伙子