平铺 转 树的详细解释

119 阅读1分钟

定义一个函数(全局组件里面)

// 1. 创建一个 map (键值对) key是id value是本身 mg 给每一个对象加一个childer 属性

 let treeList = []
 export function arrTree(list) {
   list.forEach(item=> {
     // 给每一对象加一个childer 属性
     item.children = []
     // map结构 key是id 所以item.id  value是本身 所以是 item
     map[item.id] = item
})  
  1. 对list的每一级 找item 如果有上级就加到 obj里面 如果没有上级 item就是 一级 放到treeList里面 一定要记得 return 返回 treeList
      const pid= item.pid
      const obj = map[pid]
     if(obj) {
     obj.childer.push(item)  // 如果有就在obj里面添加一个childer属性
} else {
   
   treeList.push(item)
}
})
  return treeList
}