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)