账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    怎么通过关键字去递归遍历树结构过滤
    11
    0
    有个菜单是个数组,每一项都是树结构数据,如下const menu = [ { "menuName":"工单服务", "children":[ { "menuName":"工单列表", "children":[ { "menuName":"综合工单" }, { "menuName":"数据变更", "children":[ { "menuName":"MySQL" }, { "menuName":"Redis" }, ] } ] }, { "menuName":"创建工单", "children":[ { "menuName":"关系型", "children":[ { "menuName":"MySQL资源" } ] }, { "menuName":"非关系型", "children":[ { "menuName":"Redis资源" } ] }, { "menuName":"其他服务", "children":[ { "menuName":"权限申请" } ] } ] } ] },]如果输入关键字过滤,匹配到父节点,就返回父节点和所有子孙节点;如果匹配到子节点,就返回子节点和祖先节点。例如输入 创建工单,返回为const menu = [ { "menuName":"工单服务", "children":[ { "menuName":"创建工单", "children":[ { "menuName":"关系型", "children":[ { "menuName":"MySQL资源" } ] }, { "menuName":"非关系型", "children":[ { "menuName":"Redis资源" } ] }, { "menuName":"其他服务", "children":[ { "menuName":"权限申请" } ] } ] } ] },]例如输入 MySQL,返回为const menu = [ { "menuName":"工单服务", "children":[ { "menuName":"工单列表", "children":[ { "menuName":"数据变更", "children":[ { "menuName":"MySQL" }, ] } ] }, { "menuName":"创建工单", "children":[ { "menuName":"关系型", "children":[ { "menuName":"MySQL资源" } ] } ] } ] },]请问这种算法怎么写?主要是层级不确定,只有通过children来判断。谢谢
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答