Рекомендуемый массив массивов объектов JavaScript - PullRequest
1 голос
/ 09 января 2012

На странице, которую я создаю, должен отображаться список элементов. Допустим, это продукты для продажи, в качестве примера. Один предмет будет иметь краткое название (50-200 символов), цену и другую краткую информацию. Обычно может быть 200 предметов в категории. Однако редко бывает 1000 и максимум 5000 предметов (очень редко).

Я думал о предварительной загрузке всех элементов в массив объектов JavaScript, чтобы сделать разбиение на страницы гладким и фильтровать продукт. В зависимости от выбора пользователя по фильтру или номеру страницы DOM легко перерисовывает результаты для отображения. Это будет хорошо работать на 200 пунктов, я уверен. Но как насчет 5000? Будет ли замедляться работа браузеров, если вы просматриваете так много элементов?

Стоит ли предварительно загружать все один раз и отображать элементы динамически (никогда не делать повторных вызовов на сервер) или это все же лучший способ загрузки фрагментов данных с сервера по выбору пользователя? Спасибо.

1 Ответ

2 голосов
/ 09 января 2012

Не думаю, что тебе стоит волноваться.Единственное, что вас беспокоит, это передача данных по линии (в браузер пользователя).5000 × 200 = 1000000 байт, так что это будет чуть более 1 МБ.

Производительность JavaScript, вероятно, не проблема.В моем тесте (на умеренно старом ноутбуке в Chrome 16) потребовалось всего 1ms, чтобы создать 5000 фиктивных объектов и выполнить итерации по ним, объединяя описания и суммируя цены.Взгляните: http://jsfiddle.net/PPvG/G3UDH/

С точки зрения пропускной способности, загрузка всего заранее, вероятно, будет лучше, если соединение между клиентом и сервером имеет высокую пропускную способность и большую задержку.Если соединение имеет низкую пропускную способность и малую задержку, загрузка по частям может улучшить взаимодействие с пользователем.Так какой подход лучше всего зависит от ситуации.

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