首页 > 其他 > 详细

获取router列表中的所有路径

时间:2021-06-17 12:12:12      阅读:20      评论:0      收藏:0      [点我收藏+]

代码如下

/**
 * 递归获取路由的所有路径
 * @param router 路由列表
 * @param pp 父级路径path parentPath
 * @return []string
 */
function getPath(router,pp) {
    var arr = [];
    pp = pp || ‘‘
    for(let r of router){
        let path = r.path
        let children = r.children
        if(pp){
            path = `${pp}/${path}`
        }
        // 如果有子元素,不添加父元素的路径
        if(children && children.length > 0){
            arr = arr.concat(getPath(children,path))
        }else{
            arr.push(path)
        }            
    }
    return arr;
};

测试代码如下

// 测试数据
var
router = [ { path: "/test", children: [ { path: "test2" }, { path: "test2", children:[ { path:‘test3‘ }, { path: ‘test3-1‘ } ] } ] } ];
// 测试结果 let res
= getPath(router); //[ ‘/test/test2‘, ‘/test/test2/test3‘, ‘/test/test2/test3-1‘ ]

 

 

获取router列表中的所有路径

原文:https://www.cnblogs.com/hill-foryou/p/14892157.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!