function arr2tree(arr) { let _map = {}; let list = []; for (let i = 0; i < arr.length; i++) { let item = arr[i]; // 如果id 小于 等于 0 跳过 if(item.id <= 0) continue; if (item.parentId === 0) { // 父级节点 直接添加 list.push(item); _map[item.id] = item; } else { // 子集节点 需要挂在 父节点的children里 let parentId = item.parentId; let parent = _map[parentId]; if (!parent.children) { parent.children = []; } parent.children.push(item); _map[item.id] = item; } } return list; }