树结构解析

1、树结构数据 arraydata: [
{
  id:1,
  name:'武汉市',
  children:[
  {
    id:11,
    name:'洪山区',
    children:[
      {
        id:111,
        name:'大彭村'
      }
    ]
  },{
    id:12,
    name:'江夏区',
   }
  ]
},
{
  id:2,
  name:'枣阳市'
}
]
 
2、解析树结构成数组 tree2List(arraydata){
  let that = this
  if (arraydata.length > 0) {
    return arraydata.reduce((accu,item)=>{
      if (!item.children) {
        accu.push(item)
      }else{
        const sublist = that.tree2List(item.children)
        accu.push(item,...sublist)
      }
      return accu
    },[])
  }
},
3、调用 getNameById(arraydata,id){
    const list = this.tree2List(arraydata)
    const arr = list.find(item=>item.id === id)
    console.log(arr?arr.name:'')
  }
list结果 如图

 

posted @ 2022-02-10 14:05  Nickcs  阅读(101)  评论(0)    收藏  举报