参考大神:
作者:黑刀蛇黥
链接:https://juejin.cn/post/7082379156234698759
来源:稀土掘金
var arr = [{ id: '29', pid: '', name: '总裁办' },{ id: '2c', pid: '', name: '财务部' },{ id: '2d', pid: '2c', name: '财务核算部' },{ id: '2f', pid: '2c', name: '薪资管理部' },{ id: 'd2', pid: '', name: '技术部' },{ id: 'd3', pid: 'd2', name: 'Java研发部' },{ id: 'd4', pid: 'd3', name: 'spring研发部' },]/* 定义封装函数 */function toDo(arr, pid = '') {/* 得到处理之后的树形数据 */var newArr = []/* 1-循环数组 */arr.forEach((item) => {if (item.pid === pid) {/* 3-收集不是第一层的 收集子集 */var child = toDo(arr, item.id)if (child.length) {item.children = child}// console.log(obj, 8)/* 2-筛选第一层 */newArr.push(item)}})return newArr}/* 调用函数 */console.dir(toDo(arr))作者:黑刀蛇黥链接:https://juejin.cn/post/7082379156234698759来源:稀土掘金著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。最后的结果:var arr = [{ id: '29', pid: '', name: '总裁办' },{ id: '2c', pid: '', name: '财务部',children:[{ id: '2d', pid: '2c', name: '财务核算部' },{ id: '2f', pid: '2c', name: '薪资管理部' },]},{ id: 'd2', pid: '', name: '技术部',children:[{ id: 'd3', pid: 'd2', name: 'Java研发部' },] },]
