var arr = [{
name:"1",
type:"data",
default:"1",
relation:[{
id:"1",
text:"2"
}]
},{
name:"2",
type:"filter",
default:"1",
relation:[{
id:"3",
text:"4"
}]
},{
name:"1",
type:"data",
default:"1",
relation:[{
id:"5",
text:"6"
}]
}];
if(arr && arr.length>0){
var newArr = [];
arr.forEach(function(item,index){
var flag = true;
if(newArr.length > 0) {
// 此处 不能用foreach,不然没法使用break跳出循环
for(var i= 0;i<newArr.length;i++){
if(newArr[i].name == item.name && newArr[i].type == item.type && newArr[i].default == item.default){
newArr[i].relation.push({
id: item.relation[0].id,
text: item.relation[0].text
})
flag = false;
break;
}
}
}
if(flag){
newArr.push(item)
}
})
}