如下,树形菜单和data列表顺序一样,level 值1就是第一级,下一条level 比上一条大就是上一条的子集,一样就是平级,怎么实现?求各位前端、后端大佬们提供思路!
<script type="text/javascript">
var data = [{ name: "办公管理", level: 1 },
{ name: "请假申请", level: 2 },
{ name: "出差申请", level: 1 },
{ name: "请假记录", level: 2 },
{ name: "系统设置", level: 3 },
{ name: "权限管理", level: 3 },
{ name: "用户角色", level: 1 },
{ name: "菜单设置", level: 3 },
{ name: "音乐设置", level: 4 }
];
var tree = [
{
name: "办公管理",
level: 1,
children:[
{
name: "请假申请",
level: 2
}
]
},{
name: "出差申请",
level: 1,
children:[
{
name: "请假记录",
level: 2,
children:[
{
name: "系统设置",
level: 3
},{
name: "权限管理",
level: 3
}
]
}
]
},{
name: "用户角色",
level: 1,
children:[
{
name: "菜单设置",
level: 3,
children:[
{
name: "音乐设置",
level: 4
}
]
}
]
}
];
// 怎么把data这样的数据转换为tree这样的
</script>
求各位前端、后端大佬们提供思路!
data还可能是这种
let data = [
{ name: "办公管理", level: 1 },
{ name: "请假申请", level: 2 },
{ name: "出差申请", level: 1 },
{ name: "请假记录", level: 2 },
{ name: "系统设置", level: 3 },
{ name: "权限管理", level: 4 },
{ name: "人物管理", level: 2 },
{ name: "用户角色", level: 3 },
{ name: "菜单设置", level: 4 },
{ name: "音乐设置", level: 2 },
{ name: "ZZZZ", level: 4 },
{ name: "XXXX", level: 1 },
{ name: "CCCC", level: 3 },
{ name: "VVVV", level: 4 },
];