有没有人可以帮忙将以下父子对象列表转换为树形结构:
[ { "name":"root", "_id":"root_id", }, { "name":"a1", "parentAreaRef":{ "id":"root_id", }, "_id":"a1_id", }, { "name":"a2", "parentAreaRef":{ "id":"a1_id", }, "_id":"a2_id", }, { "name":"a3", "parentAreaRef":{ "id":"a2_id", }, "_id":"a3_id", }, { "name":"b1", "parentAreaRef":{ "id":"root_id", }, "_id":"b1_id", }, { "name":"b2", "parentAreaRef":{ "id":"b1_id", }, "_id":"b2_id", }, { "name":"b3", "parentAreaRef":{ "id":"b1_id", }, "_id":"b3_id", } ]
输出结果应该如下所示,表示父子关系:
[ { "name": "root", "_id":"root_id", "children": [ { "name": "a1", "_id":"a1_id", "children" : [ { "name" : "a2", "_id":"a2_id", "children" : [ { "name" : "a3" "_id":"a3_id" } ] } ] }, { "name": "b1", "_id":"b1_id", "children" : [ { "name" : "b2" "_id":"b2_id" }, { "name" : "b3" "_id":"b3_id" } ] } ] } ]
(输出的结构是一个数组,以允许多个根节点,但如果我们可以得到处理单个根节点的解决方案,那就更好了。)
输出的树形结构如下:
root | -- a1 | | | -- a2 | | | -- a3 | -- b1 | -- b2 -- b3
谢谢!