用递归函数遍历树形结构,获取所有项目keys

46 阅读1分钟

简单递归函数实现,获取树形data数据里的key

例如后端返回的数据结构如下:

const data = [{
       key:1,
       title:"学生工作部",
       children:[{
               key:2,
               title:"生活宣传科"
           },
           {
               key:3,
               title:"舞蹈部门",
               children:[{
                       key:4,
                       title:"民族舞"     
                   },
                    {
                       key:5,
                       title:"现代舞舞"     
                   }]
           }]
      },
     {
       key:6,
       title:"教务处",
       children:[{
               key:7,
               title:"教学科",
               children:[]
           }]
      }]
// 获取父子所有key值
getTreeAllKeys(arr){
    let keys = []
  arr.forEach(item=>{
    if(item.key){
      keys.push(item.key)
    }
    if(item.children && item.children.length){
      let keysArr = this.getTreeAllKeys(item.children);
      keys = keys.concat(keysArr)
    }
  })
  return keys
},