美文网首页
js过滤tree类型的数据

js过滤tree类型的数据

作者: 洛梓煕 | 来源:发表于2021-10-11 10:31 被阅读0次
     //递归过滤隐藏菜单
    const genAuthList=(tree = [], validate = () => {}, param = [], arr = []) =>{
          if (!tree.length) return []
          for (let item of tree) {
            if (!validate.apply(null, [item, ...param])) continue
            let node = { ...item, children: [] }
            arr.push(node)
           if (item.children && item.children.length)
              genAuthList(item.children, validate, param, node.children)
          }
          return arr
        },
    

    tree表示需要过滤的tree数组
    validate表示需要过滤的函数,自定义

    例子:


    image.png

    genAuthList(router, (it) => !it.hidden)
    过滤tree列表数据中包含hidden为true的数据(我这边是做菜单隐藏用的)

    相关文章

      网友评论

          本文标题:js过滤tree类型的数据

          本文链接:https://www.haomeiwen.com/subject/jolloltx.html