Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 18.04.2015, 06:24
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А что значит получить свойство length массива?
Ответить с цитированием
  #12 (permalink)  
Старый 18.04.2015, 06:45
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от theKingOfJava
 
Регистрация: 31.03.2015
Сообщений: 113

это значит, например, обратится к объекту массива (послать сообщение), запросив его длину: array.length. Эта длина, на момент обращения статична, мы просто получаем число по ссылке. В момент обращения длина не вычисляется, она уже вычислена, это статичное св-во
Ответить с цитированием
  #13 (permalink)  
Старый 18.04.2015, 07:08
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Да, не правильно мыслил, это же свойство корректируется автоматически.
Ответить с цитированием
  #14 (permalink)  
Старый 18.04.2015, 09:04
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

1. бинарный поиск
2. воркеры
3. "порционный" поиск (например, обрабатывать не более 1000 элементов за цикл браузера)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #15 (permalink)  
Старый 18.04.2015, 10:44
Аватар для Momon
Аспирант
Отправить личное сообщение для Momon Посмотреть профиль Найти все сообщения от Momon
 
Регистрация: 02.12.2014
Сообщений: 72

nerv_,
По-моему бинарный поиск здесь не возможен, т.к. мне нужно находить элементы массива (строки) по частичному соответствию, т.е. находить строку не только в случае 100% соответствия, но и в случае совпадения 1 слова или даже начальной части слова в строке.
Ответить с цитированием
  #16 (permalink)  
Старый 19.04.2015, 00:21
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Если важно, чтобы не тормозило, то я вижу только три решения и они уже тут были озвучены:
- кеш
- WebWorkers
- "порционный" поиск с помощью таймеров setTimeout/setInterval
Ответить с цитированием
  #17 (permalink)  
Старый 19.04.2015, 01:22
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

WebWorkers не ускорит никак скорость (нагрузку да снимет)
порционный поиск(Устройство Даффа) здесь также не поможет для увеличения скорости
for будет самым быстрым, возможно ускорить если выбрать определенную структуру данных пусть это будет не массив а маркированный текст к примеру(это мысль без практического подтверждения)
Ответить с цитированием
  #18 (permalink)  
Старый 19.04.2015, 02:17
Новичок на форуме
Посмотреть профиль Найти все сообщения от simply_the_Best
 
Регистрация: 18.04.2015
Сообщений: 4

Poznakomlus,
Сообщение от Poznakomlus
возможно ускорить если выбрать определенную структуру данных пусть это будет не массив а маркированный текст к примеру(это мысль без практического подтверждения)
вот этот пример:
Поиск подстроки в большом массиве строк javascript
подтверждает Вашу мысль, даже без маркировок, а просто по регекпу. Маркировка, конечно, позволит упростить регулярку.
Ответить с цитированием
  #19 (permalink)  
Старый 19.04.2015, 09:01
Аватар для Momon
Аспирант
Отправить личное сообщение для Momon Посмотреть профиль Найти все сообщения от Momon
 
Регистрация: 02.12.2014
Сообщений: 72

Всем спасибо за помощь. Прирост производительности более чем в два раза дала замена test на indexOf
Ответить с цитированием
  #20 (permalink)  
Старый 19.04.2015, 09:48
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 181

чтобы не тратить время на точный поиск, лично я преобразую один раз массив в объект и использую for (var key in obj). При этом в obj[key] можно хранить любые потенциально необходимые характеристики, индексы массива, количество одинаковых элементов и прочее. Разница с переборкой массива уже при десятке элементов...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в массиве, частичное совпадение фонарик Общие вопросы Javascript 25 04.04.2013 07:43
Поиск вхождения подстроки в массиве строк. FINoM Общие вопросы Javascript 8 27.02.2011 11:53
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
Поиск в массиве через JavaScript Noran Общие вопросы Javascript 0 10.08.2008 17:31