Wpis z mikrobloga

#javascript #json #programowanie

Mirki, mam pytanie - jak najprościej posortować JSONa po zagnieżdżonych wartościach w JS?
Dajmy na to mam jsona, który składa się z osób (każda ma imię, nazwisko, jakieś dane) oraz zagnieżdżone pole 'dzieci' - które składają się znów z imiona, nazwiska... a także dzieci (które mogą mieć swoje dzieci). Wyświetlam to jako drzewko i chcę posortować alfabetycznie każdą "gałęź". Czyli mam posortowane "osoby", rozwijam je i mam posortowane ich dzieci -> rozwijam jakieś dziecko i mam posortowane jego dzieci.
Możecie doradzić jak to najlepiej zrobić?
  • 2
  • Odpowiedz
@misieg8: Dzięki za odpowiedź. Próbuję to ogarnąć, ale wątpię żeby to było optymalne rozwiązanie. Stworzyłem przykładowy json: pastebin.com/XtKg5aip

Moja funkcja wygląda na razie tak:

sortAllDimensions(list){
if(!list){ return;}
for(var i=0; i<list.length; i++;){
if(list[i].dzieci{
list[i].dzieci = _.sortBy(list[i].dzieci, 'name');
this.sortAllDimensions(list[i].dzieci);
}
}

Takie rozwiązanie sortuje wszystkie "podtablice" po nazwie. Problem w tym, że chyba niepotrzebnie przelatuje wiele razy po węzłach. Jak to zoptymalizować?
  • Odpowiedz