const arrData = [
{ id: 2, name: '部门B', parentid: null },
{ id: 3, name: '部门C', parentid: 1 },
{ id: 1, name: '部门A', parentid: 2 },
{ id: 4, name: '部门D', parentid: 1 },
{ id: 5, name: '部门E', parentid: 2 },
{ id: 6, name: '部门F', parentid: 3 },
{ id: 7, name: '部门G', parentid: 2 },
{ id: 8, name: '部门H', parentid: 4 },
];
const listToTreeData = (list, pid) => {
const temp = []
const obj = {}
list.map(item => obj[item.id] = item)
list.map(item => {
const id = item.parentid
if(id === pid) return temp.push(item)
obj[id].children ? obj[id].children.push(item) : obj[id].children = [item]
})
return temp
}