Манипулирование DOM и структуры данных Javascript: плоский или структурированный? - PullRequest
1 голос
/ 13 июля 2011

У меня есть бизнес-требование (которое не изменится) для отображения около 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 без дополнительных поисков. Так какой метод, как правило, будет более производительным?

1 Ответ

0 голосов
/ 13 июля 2011

Структурное.Это более масштабируемо и будет проще манипулировать узлами в DOM с JQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...