ixth,
Так поменьше, но все равно тормозит. Думаю, на моих строках сильней оригинала будет тормозить. У меня есть тут одна мысля. Надо как то сделать, чтобы поиск начиналсмя с таймаутом, а в этом таймауте проверялось не изменился ли за это время инпут. Думаю, надо в этом направлении копать. Потом отпишусь. Пока не делай ничо, а то мне жалко твоего времени:), если не получится, тогда будем продолжать:) |
Ты не поверишь… Мой вариант почти так и делает. Он ждет, когда пользователь закончит ввод и только тогда запускает поиск. Плюс, тебе же не критично, что поиск ведется регуляркой? Можно заменить его на indexOf: http://jsfiddle.net/ainop/g41x6tto/4/
Больше никаких оптимизаций сделать, наверное, нельзя. Я бы перенес все это на сторону сервера и делал запросы через ajax. |
ixth,
Я изменил search вот так search=function(the_value){ var test=function(){return input.value==the_value} var out=[] var re=new RegExp(the_value, "i") for(var i=0; i<base.length; i++){ if(!test()) break; if(base[i].match(re)) { base[i]=base[i].replace(/((\d{4} \d{2}-\d{3})|(\d{4} \d{2}-\d{3} \d{1}-\d{2}-\d{2}))$/, "<b>$1</b>") out.push(base[i]) } } return out } И один хрен тормозит. Во всех остальных браузерах летает. Может это просто V8 кривой? Или я фигню написал? |
А если данных будет в 100 раз больше?
не возникает ощущение что задачу решаете не совсем правильно? |
MallSerg,
Я бы с удовольствием выслушал ваши предложения. |
Задача не озвучена полностью тут только весьма странная часть решения неизвестной задачи ((.
Возможно стоит задача поиска совпадений в текстовых строках. Со стороны задача выглядит как забивание саморезов в бетонную стену с помощью булки хлеба. )) |
MallSerg,
Задача - банальный поиск выборки по массиву с последующим выводом результата. |
Цитата:
как вообще могло прийти в голову выводить результат из 900 строк на каждое нажатие клавиши? На ладно давай допустим что есть люди читающие по 500 - 600 строк в секунду зачем использовать регулярные выражения для простого поиска чем не устраивает valueOF ? Почему функция называется поиск а на самом деле она генерит HTML ? Цитата:
|
MallSerg,
Вы господин, какую то феерическую ахинею несете. Или вникни в код наконец, или расслабься и отдохни. |
Цитата:
|
Часовой пояс GMT +3, время: 19:43. |