话不多说,直接上代码
const makeList = (roles) => {
if (!Array.isArray(roles)) {
return { menus: null,};
}
const menus = [];
const recursion = (dataArr, parentPathname) => {
dataArr.forEach((data) => {
if (data && typeof data === 'object' && !Array.isArray(data)) {
const { type, route, children, ...rest } = data;
if (type === 1) {
menus.push({
type,
route,
...rest,
});
if (Array.isArray(children) && children.length > 0) {
recursion(children, route);
}
}
}
});
}
recursion(roles, '/');
return { menus, licenses };
};
本文介绍了一种使用JavaScript实现的角色菜单生成算法。该算法接受角色数据作为输入,通过递归方式构建菜单结构,最终返回菜单列表。适用于权限管理和动态菜单展示的场景。
1392

被折叠的 条评论
为什么被折叠?



