树状结构数据转成扁平数据

泰康这边渲染树形结构给的是扁平的,我写了个方法把扁平数据转成树结构,现在传给后台时候,后台又要扁平的,只能在写个方法

数据结构如下:

   let data = [
      {id:0,text:0,parentId:0,children:[
        {id:1,text:1,parentId:1,children:[
          {id:3,text:3,parentId:3,children:false}
        ]},
        {id:2,text:2,parentId:2,children:false}
      ]},
      {id:6,text:6,parentId:6,children:false}
    ]

转换函数

 function  treeToPath(tree){
      let queen = [...tree];
      let result = [];
      while(queen.length){
        let first = queen.shift();
        if(first.children.length>0){
          queen = queen.concat(first.children)
          first['children'] = true;
        }
        result.push(first)
      }
      return result
    }

最后转成的数据如下

posted @ 2019-06-27 17:33  小小的忧愁  阅读(1998)  评论(0编辑  收藏  举报