Может быть, вам нужна структура данных, которая содержит предварительно обработанные данные макета?Вы можете предварительно обработать код макета, который вам нужен, на стороне клиента, вставив его в Array / ArrayList какого-то специального класса.Может быть, тогда вы сможете обойти клиентскую логику построения дерева и просто перебрать список?Но вы должны проверить время, например, для сортировки большого списка быстрее выполнить сортировку на сервере и отправить список обратно, для небольшого списка нагрузка на сеть больше, чем у более медленного JavaScript-браузера.Я не знаю, верно ли это для вашего примера.