为了账号安全,请及时绑定邮箱和手机立即绑定

怎么遍历这样树形结构的数组

怎么遍历这样树形结构的数组

开心每一天1111 2019-03-05 14:15:25
像这样树形结构的数组,我想给所有的name 换成title,怎么遍历呢。数组的层次不定,可能有的里面没children。const treeData = [{    title: '0-0',    key: '0-0',    children: [{      title: '0-0-0',      key: '0-0-0',      children: [        { title: '0-0-0-0', key: '0-0-0-0' },        { title: '0-0-0-1', key: '0-0-0-1' },        { title: '0-0-0-2', key: '0-0-0-2' },      ],    }, {      title: '0-0-1',      key: '0-0-1',      children: [        { title: '0-0-1-0', key: '0-0-1-0' },        { title: '0-0-1-1', key: '0-0-1-1' },        { title: '0-0-1-2', key: '0-0-1-2' },      ],    }, {      title: '0-0-2',      key: '0-0-2',    }],  }, {    title: '0-1',    key: '0-1',    children: [      { title: '0-1-0-0', key: '0-1-0-0' },      { title: '0-1-0-1', key: '0-1-0-1' },      { title: '0-1-0-2', key: '0-1-0-2' },    ],  }, {    title: '0-2',    key: '0-2',    children: []  }];
查看完整描述

3 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

递归遍历


function setName(obj){

       for(var i in obj){

           obj[i].name = obj[i].title;

           if(obj[i].chilren){

               setName(obj[i].children)

           }

       }

       console.log(obj);

  }

  setName(treeData)


查看完整回答
反对 回复 2019-04-05
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

function treedata(a){

            let d=a.map(r=>{

            if(r.children){

                 return {'name':r.title,'key':r.key,'children':treedata(r.children)}

            }else{

                return {'name':r.title,'key':r.key}

            }

          })

          return d

        }

        console.log(treedata(treeData))


查看完整回答
反对 回复 2019-04-05
?
UYOU

TA贡献1878条经验 获得超4个赞

JSON.parse(JSON.stringify(treeData).replace(/"title"/g,'"name"'))

如果只是题目中这种简单的结构的话,一个偷懒的方法


查看完整回答
反对 回复 2019-04-05
  • 3 回答
  • 0 关注
  • 348 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号