Om kapslade uppsättningar inte är ett alternativ vet jag om följande:
- Om data är ordnade så att barn till en förälder alltid följer efter sin förälder, kan du lösa detta med en databasfråga över all data genom att hoppa över dolda noder i utdata.
Detta fungerar lika bra med en sorterad kapslad uppsättning, principen har beskrivits i det här svaret Men algoritmerna för att få djupet fungerar inte och jag skulle föreslå en rekursiv iterator som kan ta bort dolda objekt.
Om uppgifterna inte är ordnade kan du också skapa en trädstruktur från den (osorterade) frågan för alla rader som beskrivs i svaret på Inkapslad array. Tredje nivån håller på att försvinna
. Ingen rekursion behövs och du får en struktur som du enkelt kan mata ut då, jag borde ha täckt det för <ul>/<li>
html-stil utdata i ett annat svar också.
- Svar på Hur kan jag konvertera en serie förälder-barn-relationer till ett hierarkiskt träd ?
- Svar till Hur får man en kapslad HTML-lista från objektets array-postuppsättning?