Помогите с поиском в масиве
В общем есть код:
var text="Eugene Yevgen Oksai, Olesya, Yevgen"; myName="Yevgen"; hits=[]; for (i=0;i<=text.length;i++){ if (text[i]==='Y'){ for(j=i; j< (i+ myName.length);j++){ hits.push(""+text[j]+"")}} } if (hits!=0){ console.log(hits);} else console.log("Your name wasn`t found"); который выводит: ["Y", "e", "v", "g", "e", "n", "Y", "e", "v", "g", "e", "n"] нужно что б выводило: [Yevgen, Yevgen] or [Yevgen Yevgen] or idialy: Yevgen, Yevgen У кого нибудь есть идеи, подскажите плз:thanks: |
:cray:
var text = "Eugene Yevgen Oksai, Olesya, Yevgen", myName = "Yevgen", hits = []; for (i = 0; i < text.length; i++) { if (text[i] === 'Y') { var str = ''; for (j = i; j < (i + myName.length); j++) { str += text[j] }; hits.push(str) } } if (hits.length) alert(hits); |
В принципе просто, но я б сам не догадался, спасибо огромное!
|
честно не понятно логика ваших действий. Потому как результат можно и так получить
var text = "Eugene Yevgen Oksai, Olesya, Yevgen", myName = /Yevgen/g; alert(text.match(myName)); |
Цитата:
Спасибо, за упрощенный код, у меня следующий вопрос, что это за присвоение такое: myName = /Yevgen/g; Или где о нем можно прочитать? |
Вот так
var legal_names = 'Eugene|Yevgen|Oksa|Olesya|Yevgen'; var reg = new RegExp('^(?:'+legal_names+')$'); var matched = 'Oksa'.match(reg); console.log(matched); // Array['Oksa'] Disclaimer: не я придумал, я нашел и у себя применяю вместо поиска в массиве литералов. Для тех кто еще юзает массивы: private static function is_input($name) { return preg_match('/^(?:button|checkbox|color|date|datetime|datetime-local|email|file|hidden|image|month|number|password|radio|range|reset|search|submit|tel|text|time|url|week)$/',$name); } |
Цитата:
Цитата:
http://javascript.ru/RegExp |
kostyanet, че у тя за функция такая is_input? Ты будешь до конца своих дней поддерживать ее и обновлять список типов по мере их появления? :)
|
Это у меня еще нет функции is_bool_attr, там на полстраницы атрибутов которые отвечают шаблону "без валуе".
На самом деле не так. Это же не опенсорц, чтобы кто хочет тот писал что угодно. Тут кто хочет тот пишет что можно. Сегодня я добавил туда тип captcha. ПОтому что инпуты бывают void, а бывают не пустые. ЧТобы унифицировать тип инпута, чтобы равнозначно писать и ->type('text') и ->type('textarea') и ->type('select') пришлось собрать все типы инпутов в кучу (это уже все собрано, не волнуйтесь) и определять реверсом что инпут, а что не пустой. |
Кстати, а какого члена ФФ рисует в своем инспекторе элементов инпуты вот так
<input type="text"></input> Я потратил 10 минут в поисках бага в скрипте, пока допер посмотреть хтмл-сам. Там все было правильно, как w3c.org завещал. |
Часовой пояс GMT +3, время: 15:26. |