|
18.04.2015, 06:24
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
А что значит получить свойство length массива?
|
|
18.04.2015, 06:45
|
Кандидат Javascript-наук
|
|
Регистрация: 31.03.2015
Сообщений: 113
|
|
это значит, например, обратится к объекту массива (послать сообщение), запросив его длину: array.length. Эта длина, на момент обращения статична, мы просто получаем число по ссылке. В момент обращения длина не вычисляется, она уже вычислена, это статичное св-во
|
|
18.04.2015, 07:08
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Да, не правильно мыслил, это же свойство корректируется автоматически.
|
|
18.04.2015, 09:04
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
1. бинарный поиск
2. воркеры
3. "порционный" поиск (например, обрабатывать не более 1000 элементов за цикл браузера)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
18.04.2015, 10:44
|
|
Аспирант
|
|
Регистрация: 02.12.2014
Сообщений: 72
|
|
nerv_,
По-моему бинарный поиск здесь не возможен, т.к. мне нужно находить элементы массива (строки) по частичному соответствию, т.е. находить строку не только в случае 100% соответствия, но и в случае совпадения 1 слова или даже начальной части слова в строке.
|
|
19.04.2015, 00:21
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
Если важно, чтобы не тормозило, то я вижу только три решения и они уже тут были озвучены:
- кеш
- WebWorkers
- "порционный" поиск с помощью таймеров setTimeout/setInterval
|
|
19.04.2015, 01:22
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
WebWorkers не ускорит никак скорость (нагрузку да снимет)
порционный поиск(Устройство Даффа) здесь также не поможет для увеличения скорости
for будет самым быстрым, возможно ускорить если выбрать определенную структуру данных пусть это будет не массив а маркированный текст к примеру(это мысль без практического подтверждения)
|
|
19.04.2015, 02:17
|
Новичок на форуме
|
|
Регистрация: 18.04.2015
Сообщений: 4
|
|
Poznakomlus,
Сообщение от Poznakomlus
|
возможно ускорить если выбрать определенную структуру данных пусть это будет не массив а маркированный текст к примеру(это мысль без практического подтверждения)
|
вот этот пример:
Поиск подстроки в большом массиве строк javascript
подтверждает Вашу мысль, даже без маркировок, а просто по регекпу. Маркировка, конечно, позволит упростить регулярку.
|
|
19.04.2015, 09:01
|
|
Аспирант
|
|
Регистрация: 02.12.2014
Сообщений: 72
|
|
Всем спасибо за помощь. Прирост производительности более чем в два раза дала замена test на indexOf
|
|
19.04.2015, 09:48
|
Профессор
|
|
Регистрация: 28.05.2008
Сообщений: 182
|
|
чтобы не тратить время на точный поиск, лично я преобразую один раз массив в объект и использую for (var key in obj). При этом в obj[key] можно хранить любые потенциально необходимые характеристики, индексы массива, количество одинаковых элементов и прочее. Разница с переборкой массива уже при десятке элементов...
|
|
|
|