У меня есть массив строк, я хочу использовать jQuery, чтобы видеть, содержится ли конкретная строка в массиве?
Я могу сделать это с jQuery>?
var arr = ["foo", "bar"];
if(/\bfoo\b/.test(arr.join('|'))) alert('yay');
Я не хотел начинать флеймвары
из-за ответа Ника: p Но этот простой javascript должен делать то же самое для требований OP.
Вы можете использовать $. InArray ()
и проверить, что результат не == -1
, вот так:
var arr = [ "string1", "string2" ];
jQuery.inArray("string1", arr) // returns 0
jQuery.inArray("string2", arr) // returns 1
jQuery.inArray("string3", arr) // returns -1
А для флейм-войн про "зачем использовать jquery?" здесь ... это потому, что старый IE (и, возможно, текущий IIRC) не имеет функции Array.indexOf
, $. indexOf ()
будет использовать встроенный Array.indexOf
присутствует , это просто оболочка , чтобы позаботиться о том, чтобы IE не имел этого .
В качестве альтернативы вы можете добавить метод Array.indexOf
, если он отсутствует, bobince показывает , как это сделать, здесь .
if( $.inArray("theString", theArray) > -1 ) {
alert('found one');
}