Используя jQuery, чтобы сделать “действительно содержит”

У меня есть массив строк, я хочу использовать jQuery, чтобы видеть, содержится ли конкретная строка в массиве?

Я могу сделать это с jQuery>?

5
задан CLiown 8 June 2010 в 13:52
поделиться

3 ответа

var arr = ["foo", "bar"];
if(/\bfoo\b/.test(arr.join('|'))) alert('yay');

Я не хотел начинать флеймвары из-за ответа Ника: p Но этот простой javascript должен делать то же самое для требований OP.

0
ответ дан 14 December 2019 в 19:01
поделиться

Вы можете использовать $. 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 показывает , как это сделать, здесь .

4
ответ дан 14 December 2019 в 19:01
поделиться
if( $.inArray("theString", theArray) > -1 ) {
    alert('found one');
}
1
ответ дан 14 December 2019 в 19:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: