Поиск в массиве, частичное совпадение
Подскажите пожалуйста, как проверить есть ли элемент в массиве, используя в поиске часть его имени? Например, есть массив
var massiv = ["яблочный пирог", "соус_острый", "яблоки_красные"]как проверить, есть ли в массиве элемент с частичным совпадением "яблок", и получить его номер в массиве? |
Цитата:
|
фонарик,
а если элементов совпавших не 1 который выдавать? |
Цитата:
Пытался найти в гугле что-то на эту тему, но кроме обычного поиска по массиву, ничего не нашел. Регулярные выражения никак не даются в понимании, да и ранее подобной задачи никогда не встречал :-? |
Цитата:
а в рнр вообще есть функция для вычисления расстояния |
var massiv = ["яблочный пирог", "соус_острый", "яблоки_красные"]; function findPartial( a, s ) { for( var i = 0; i < a.length; ++i ) if( a[i].indexOf( s ) >= 0 ) return i; return -1; } alert( findPartial( massiv, "яблок" ) ); |
Мсье rgl, спасибо вам за решение, надеюсь я все-таки смогу понять как оно работает. Да и регулярных выражений вроде как и нет :-?
|
var massiv = ["яблочный пирог", "соус_острый", "яблоки_красные"]; function findPartial( a, s ) { for( var i = 0; i < a.length; ++i ) if( a[i].indexOf( s ) >= 0 ) return i; return -1; } alert( findPartial( massiv, "яблокo" ) ); Цитата:
|
dmitriymar,
Из вопроса, а также из приведенного примера можно предположить, что под частичным совпадением понимается вхождение: Цитата:
Я понял вопрос именно так (вхождение), единственное, в чем сомневался, так это искать везде или строго в начале. Если нужно строго вначале, то проверку >= 0 можно заменить на == 0 |
Частичное совпадение я обозначил весьма буквально - выражение в кавычках "яблок". Т.е нужно значение что в кавычках проверить нет ли точных совпадений в массиве, т.е елемента в котором есть все символы что в кавычках. Решение rgl то, что и хотелось в итоге получить :)
|
Часовой пояс GMT +3, время: 02:23. |