Qualcuno può aiutare a convertire il seguente elenco di oggetti padre-figlio:Convert genitore-figlio array ad albero
[ { "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", } ]
in una struttura ad albero che mostra la relazione genitore-figlio:
[ { "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" } ] } ] } ]
(The la struttura di output è una matrice che consente più radici ma se è possibile ottenere una soluzione che gestisca una singola radice è anche ottima.)
L'albero di output è simile al seguente:
root | -- a1 | | | -- a2 | | | -- a3 | -- b1 | -- b2 -- b3
Grazie!
sacco :) ma (ovviamente) non ancora arrivati ad una soluzione. Posso pubblicare alcuni frammenti di codice su cui ho lavorato ma penso che causeranno più confusione che chiarezza –
@Scobal, per favore pubblica i frammenti.Potresti essere molto vicino alla soluzione e potremmo dirti quale sia la soluzione. –
Avrete bisogno di analisi e mappatura. –