树形数据

var data = [
{ id: 1, name: “办公管理”, bpid: 0 },
{ id: 2, name: “请假申请”, bpid: 1 },
{ id: 3, name: “出差申请”, bpid: 1 },
{ id: 4, name: “请假记录”, bpid: 2 },
{ id: 5, name: “系统设置”, bpid: 0 },
{ id: 6, name: “权限管理”, bpid: 5 },
{ id: 7, name: “用户角色”, bpid: 6 },
{ id: 8, name: “菜单设置”, bpid: 6 },
];

function toTree(data) {
data.forEach(function (item) {
delete item.children;
});
var map = {};
data.forEach(function (item) {
map[item.id] = item;
});
// console.log(map);
var val = [];
data.forEach(function (item) {
var parent = map[item.bpid];
if (parent) {
(parent.children || ( parent.children = [] )).push(item);
} else {
val.push(item);
}
});
return val;
}
console.log(toTree(data))

You may also like...

发表评论