在项目中使用到json 按照内部属性进行去重操作 于是自己简单封装的方法来进行去重 希望可以帮到你们!!
js代码
//JSON去重
//arr是要进行去重的json串
//attribute是针对json串中哪个属性进行去重
function unique(arr,attribute){
var new_arr=[];
var json_arr=[];
for(var i=0; i<arr.length; i++){
console.log(new_arr.indexOf(arr[i][attribute]));
if(new_arr.indexOf(arr[i][attribute]) ==-1){ // -1代表没有找到
new_arr.push(arr[i][attribute]); //如果没有找到就把这个name放到arr里面,以便下次循环时用
json_arr.push(arr[i]);
} else{
}
}
return json_arr;
}
样例分析:
var json=[
{name:“北京”,position:“天安门”},
{name:“北”,position:“安门”},
{name:“北京”,position:“天安门”},
{name:“北”,position:“天门”},
{name:“北京”,position:“天安门”},
{name:“京”,position:“门”}];
按照name去重:
var new_json=unique(json,“name”);
console.log(new_json);
按照position去重: