【发布时间】:2013-03-25 10:34:17
【问题描述】:
任何人都可以帮助转换以下父子对象列表:
[ { “名称”:“根”, "_id":"root_id", }, { “名称”:“a1”, “parentAreaRef”:{ "id":"root_id", }, "_id":"a1_id", }, { “名称”:“a2”, “parentAreaRef”:{ "id":"a1_id", }, "_id":"a2_id", }, { “名称”:“a3”, “parentAreaRef”:{ "id":"a2_id", }, "_id":"a3_id", }, { “名称”:“b1”, “parentAreaRef”:{ "id":"root_id", }, "_id":"b1_id", }, { “名称”:“b2”, “parentAreaRef”:{ "id":"b1_id", }, "_id":"b2_id", }, { “名称”:“b3”, “parentAreaRef”:{ "id":"b1_id", }, "_id":"b3_id", } ]变成显示父子关系的树形结构:
[ { “名称”:“根”, "_id":"root_id", “孩子们”: [ { “名称”:“a1”, "_id":"a1_id", “孩子们” : [ { “名称”:“a2”, "_id":"a2_id", “孩子们” : [ { “名称”:“a3” "_id":"a3_id" } ] } ] }, { “名称”:“b1”, "_id":"b1_id", “孩子们” : [ { “名称”:“b2” "_id":"b2_id" }, { “名称”:“b3” "_id":"b3_id" } ] } ] } ](输出结构是一个允许多个根的数组,但如果我们能得到一个处理单个根的解决方案也很棒。)
输出树如下所示:
根 | --a1 | | | - a2 | | | --a3 | -- b1 | -- b2 -- b3谢谢!
【问题讨论】:
-
很多 :) 但(显然)还没有找到解决方案。我可以发布一些我一直在研究的代码 sn-ps,但我认为它们会引起更多的混乱而不是清晰
-
@Scobal 请发布 sn-ps。您可能非常接近解决方案,我们可以告诉您解决方案是什么。
-
你需要解析和映射。
-
这是我目前的尝试:jsfiddle.net/5AgqT 希望对您有所帮助!
-
@Scobal 我已经发布了一个解决方案。
标签: javascript algorithm