У меня есть бизнес-требование (которое не изменится) для отображения около 10000 элементов на странице (мне это не нравится). Элементы связаны через отношения родитель-потомок во многом как папки, подпапки и файлы на диске.
Я хочу построить страницу таким образом, чтобы она управлялась структурой данных javascript
(внутреннее приложение, javascript
всегда будет включено).
Как правило, лучше иметь плоскую структуру данных, в которой каждая запись содержит ссылку на своего родителя, или лучше иметь структурированную структуру данных, в которой каждая «папка» содержит ссылки на «подпапки» и «файлы»
Т.е.:
var items = { //flat array
{id:1, parentId:0},
{id:2, parentId:1},
{id:3, parentId:1},
{id:4, parentId:2},
{id:5, parentId:2}
};
var items = { //structured
{ id: 1, children: {
{ id: 2, children: {
{ id: 4 },
{ id: 5 },
} },
{ id: 3 },
} }
};
Вне всяких сомнений, плоский формат кажется проще для глаз, но сервер будет генерировать этот список настолько честно, что это не так уж важно. Как сравнить производительность? При плоском поиске потребуется гораздо больше DOM
поисков, то есть найти элемент с id=1
и вставить элемент DOM
для id=2
. В структурированном формате определены все отношения, так как код javascript
перемещается по структуре, он может создавать все необходимые элементы DOM
без дополнительных поисков. Так какой метод, как правило, будет более производительным?