zoukankan      html  css  js  c++  java
  • 平面数据转换为树形结构

    const data = [{
      id: 1,
      parentid: 0,
      text: '集团'
    }, {
      id: 2,
      parentid: 0,
      text: '集团2'
    }, {
      id: 3,
      parentid: 1,
      text: '集团1-公司1'
    }, {
      id: 4,
      parentid: 1,
      text: '集团1-公司2'
    }, {
      id: 5,
      parentid: 4,
      text: '集团1-公司2-部门1'
    }, {
      id: 6,
      parentid: 4,
      text: '集团1-公司2-部门2'
    }]
    
    const generateTree = data => {
      if (!data || data.length === 0) return []
      const obj = {} //根据parentid 来保存他的所有下级
      data.forEach(item => {
        const { parentid } = item
        if (!obj[parentid]) { obj[parentid] = [] }
        obj[parentid].push(item)
      })
      data.forEach(item => {
        item.children = obj[item.id] || []
      })
      const result = data.filter(item => item.parentid === 0)
      console.log(result)
      return result
    }
    generateTree(data)
    
  • 相关阅读:
    数据结构与算法的思维导图
    第九周知识总结
    第八周知识总结
    作业七:问卷调查

    图的基本概念及基本术语
    二叉树

    队列

  • 原文地址:https://www.cnblogs.com/pengyinghao/p/14154082.html
Copyright © 2011-2022 走看看