假定如下一堆数组,且他们都有 id pid 这样的字段,来表示之间的父子关系
[a,b,c,d,e,f,g,h,i,j,k,l,m]
关系如下 且同一层级的子集有 b>c c>d 这种关系,所以排序中 b 一定要在 c 的前面 求解如何排序成如下这种格式的数组:
[[a,{},{},{},{},{}],
[b,{},c,d,{},{}],
[e,f,g,h,i,j ],
[k,l,{},m,{},{}]]
补充一下,首先结果是需要,把 [a,b,c,d,e,f,g,h,i,j,k,l,m] 按树层级分组,然后求出最大节点数量,可以看作一个表。 上面的代码段是这个表转成了数组形式来表示。