拿到一组简单数据如下
let defts = [
{
id: 1, name: "集团", pid: null
},
{
id: 2, name: "子公司", pid: 1
},
{
id: 3, name: "财务部门", pid: 2
}
];
需要输出如图的结果
实现代码如下
function Menu(oldData, pid) {
let newData = [];
oldData.forEach(item => {
if (item.pid == pid) {
newData.push(item);
item.children = Menu(oldData, item.id);
}
});
return newData;
}
let dep = Menu(def