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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    请教大家一个js递归遍历处理数组的问题,谢谢啦!
    30
    0

    //有如下数组,里面包含路由数据
    const routes = [

    {
        path:'/a',
        children:[
            {
                path:'a-1',
                children:[
                    {
                           path:'a-1-1',
                           children:[]
                    },
                    {
                           path:'a-1-2',
                           children:[]
                    },
                    {
                           path:'a-1-3',
                           children:[]
                    },
                ]
            },
            {
                path:'a-2',
                children:[
                    {
                        path:'a-2-1'
                    }
                ]
            }
        ]
    },
    {
        path:'/b',
        children:[
            {
                path:'b-1'
            },
            {
                path:'b-2'
            }
        ]
    }

    ]

    //想处理后能输出
    //[
    // "/a/a-1/a-1-1",
    // "/a/a-1/a-1-2",
    // "/a/a-1/a-1-3",
    // "/a/a-2/a-2-1",
    // "/b/b-1",
    // "/b/b-2"
    // ]

    //以下代码只能输出
    //["/a/a-1/a-1-1,a-1-2,a-1-3,a-2/a-2-1", "/b/b-1,b-2"]

    function gen(menu){

    let tmp=[]
    for(item of menu){
        if(item.children && item.children.length>0){
            tmp.push(item.path+'/'+gen(item.children))
        }else{
            tmp.push(item.path)
        }
    }
    return tmp

    }

    let m=gen(routes)
    console.log(m)

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 无就将法 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部