Смысл такой в базе лежит дерево реализованное на списках смежности.
Нужно отстроить такое же дерево на странице и реализовать по нему поиск и быстрый доступ к нодам(узлам).
Пока что есть две идеи:
1. Передавать дерево в виде:
[{id:1, pid:0, child:1, title:'one 1'},{id:2, pid:1, child:0, title:'one 1.1'}]
2. Передавать дерево в виде:
[{id:1, pid:0, title:'one 1', child:[{id:2, pid:1, child:0, title:'one 1.1'}]}]
Мысли такие:
В первом случае неясно пока как сделать дерево быстро и элегантно, зато поиск по дереву будет быстрый, в один цикл.
Во втором случае гоним рекурсию и строим дерево, но поиск по нему получается сложнее.
Склоняюсь пока к первому варианту, может у кого есть мысли по этому поводу.