// 后台返回
var oldList = [
{
'groupName':'权限管理',
'id':'10',
'name':'初级权限',
'type':"10010",
'appId':1
},
{
'groupName':'权限管理',
'id':'11',
'name':'中级权限',
'type':"10011",
'appId':1
},
{
'groupName':'用户管理',
'id':'20',
'name':'初级用户',
'type':"10020",
'appId':1
},
{
'groupName':'用户管理',
'id':'21',
'name':'中级用户',
'type':"10021",
'appId':1
},
{
'groupName':'收款',
'id':'30',
'name':'微信收款',
'type':"10030",
'appId':1
},
{
'groupName':'收款',
'id':'31',
'name':'支付宝收款',
'type':"10031",
'appId':1
}
]
// 重构之后
var newList = [
{
groupName:'权限管理',
list:[
{name:'初级权限',id:'10',type:"10010",appId:1},
{name:'中级权限',id:'11',type:"10011",appId:1}
]
},
{
groupName:'用户管理',
list:[
{name:'初级用户',id:'20',type:"10020",appId:1},
{name:'中级用户',id:'21',type:"10021",appId:1}
]
},
{
groupName:'收款',
list:[
{name:'微信收款',id:'30',type:"10030",appId:1},
{name:'支付宝收款',id:'31',type:"10031",appId:1}
]
}
]
var newData = [];
function formatList(){
for(var i=0;i<oldList.length;i++){
var gName = oldList[i].groupName;
console.log(gName)
if(unique(gName)){
newData.push({ 'groupName':gName,'list':[ { 'name':oldList[i].name,'id':oldList[i].id } ] })
}
else{
for(var j=0;j<newData.length;j++ ){
if(newData[j].groupName == gName){
newData[j].list.push({'name':oldList[i].name,'id':oldList[i].id})
}
}
}
}
return newData;
}
function unique(name){
for( var n=0;n<newData.length;n++ ){
if( newData[n].groupName == name ){
return false;
}
}
return true;
}
console.log(formatList())