tree() {
var list = [{
id: 1,
name: '超级管理',
parent_id: 0
}, {
id: 2,
name: '用户管理',
parent_id: 1
}, {
id: 3,
name: '部门管理',
parent_id: 1
},
{
id: 4,
name: '日志管理',
parent_id: 1
},
{
id: 5,
name: '操作用户',
parent_id: 2
},
{
id: 6,
name: '查看用户',
parent_id: 2
},
{
id: 7,
name: '用户新增',
parent_id: 5
},
{
id: 8,
name: '用户删除',
parent_id: 5
}]
getTree(list, 0)
function getTree(list, parentId) {
const items = {}
for (let i = 0; i < list.length; i++) {
const key = list[i].parent_id
if (items[key]) {
items[key].push(list[i])
} else {
items[key] = []
items[key].push(list[i])
}
}
console.log(items)
const res = formatter(items, 0)
console.log(res)
}
function formatter(items, parentId) {
const result = []
if (!items[parentId]) {
return result
}
for (const t of items[parentId]) {
console.log('t:', t)
t.child = formatter(items, t.id)
result.push(t)
}
return result
}
}