toTree
Posted shangyueyue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了toTree相关的知识,希望对你有一定的参考价值。
// js实现树级递归, // 通过js生成tree树形菜单(递归算法) const data = [ { id: 1, name: "办公管理", pid: 0 }, { id: 2, name: "请假申请", pid: 1 }, { id: 3, name: "出差申请", pid: 1 }, { id: 4, name: "请假记录", pid: 2 }, { id: 5, name: "系统设置", pid: 0 }, { id: 6, name: "权限管理", pid: 5 }, { id: 7, name: "用户角色", pid: 6 }, { id: 8, name: "菜单设置", pid: 6 }, ]; function toTree(data){ const map = {}; data.forEach(item => { map[item.id] = {...item}; }); const result= []; data.forEach((item)=>{ const parent = map[item.pid]; if(parent){ if(!parent.children) parent.children =[]; parent.children.push(item); }else{ result.push(item); } }) return result; } console.log(toTree(data));
以上是关于toTree的主要内容,如果未能解决你的问题,请参考以下文章