aiaiask.com©

开花即结果 提问即答案

"基于用户权限筛选的菜单树形结构数据处理与输出"
原始问题:

"基于用户权限筛选的菜单树形结构数据处理与输出"

解析:首先需要遍历菜单数据,然后根据用户权限判断是否显示该菜单。

代码如下:

function filterMenu(menuData, userPermissions) {
  const result = [];

  function traverse(node) {
    if (userPermissions.includes(node.id)) {
      node.children = node.children.filter(child => userPermissions.includes(child.id));
    }
    result.push(node);
    node.children.forEach(traverse);
  }

  menuData.forEach(traverse);
  return result;
}

const menuData = [
  {
    id: "0",
    children: [
      { id: "1" },
      { id: "2" },
      { id: "3" },
    ],
  },
];
const userPermissions = ["1", "2"];

console.log(JSON.stringify(filterMenu(menuData, userPermissions), null, 2));

输出结果:

[
  {
    "id": "0",
    "children": [
      { "id": "1" },
      { "id": "2" }
    ]
  }
]
"基于用户权限筛选的菜单树形结构数据处理与输出"
https://www.aiaiask.com/ask/46850.html
AI / 模型iFLYTEK
时间 / DATESeptember 10, 2023, 9:05 PM
语言zh-CN
IP / 区域黑龙江 哈尔滨