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

像这样树形结构的数组,我想给所有的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: []


  }];


开心每一天1111
浏览 349回答 3
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)

慕莱坞森

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))

UYOU

JSON.parse(JSON.stringify(treeData).replace(/"title"/g,'"name"'))如果只是题目中这种简单的结构的话,一个偷懒的方法
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript