数据
menuList=
{
"message": "操作成功!",
"success": true,
"entity": [
{
"id": 75,
"parentId": 0,
"menuName": "产品介绍",
"keywordUrl": "",
"soft": 1,
"status": 1
},
{
"id": 96,
"parentId": 0,
"menuName": "试听课程",
"keywordUrl": "",
"soft": 1,
"status": 1
},
{
"id": 123,
"parentId": 75,
"menuName": "测试",
"keywordUrl": "",
"soft": 0,
"status": 1
}
}
处理
判断数据是否正常
if(menuList!=undefined&&menuList.length>0){
定义一个对象
let oneMenuObj={};
遍历数组生成一级菜单
for(let menu of menuList){
if(menu.parentId==undefined||menu.parentId==0){
oneMenuObj.childMenu=[];
oneMenuObj[menu.id]=menu
}
}
二级菜单放入一级菜单
for(let menu of menuList){
if(menu.parentId!=undefined||menu.parentId>0){
let oneMenu=oneMenuList[menu.parentId];
oneMenu.childMenu.push(menu)
}
}
}
这样就处理成一个“父子”分明的二维数组了