Подтвердить что ты не робот

Javascript, если в x

Возможные дубликаты:
Проверить значение в массиве Javascript
Лучший способ найти элемент в массиве JavaScript?
Javascript - array.contains(obj)

Я обычно программирую на python, но недавно начал изучать JavaScript.

В python это вполне допустимая инструкция if:

list = [1,2,3,4]
x = 3
if x in list:
    print "It in the list!"
else:
    print "It not in the list!"

но у меня были pobleams, делающие то же самое в Javascript.

Как вы проверяете, есть ли x в списке y в JavaScript?

4b9b3361

Ответ 1

Используйте indexOf, который был представлен в JS 1.6. Вам нужно будет использовать код, указанный в разделе "Совместимость" на этой странице, чтобы добавить поддержку браузеров, которые не реализуют эту версию JS.

У JavaScript есть оператор in, но он проверяет ключи, а не значения.

Ответ 2

В javascript вы можете использовать

if(list.indexOf(x) >= 0)

P.S.: поддерживается только в современных браузерах.

Ответ 3

более генетическим способом вы можете сделать это:

//create a custopm function which will check value is in list or not
 Array.prototype.inArray = function (value)

// Returns true if the passed value is found in the
// array. Returns false if it is not.
{
    var i;
    for (i=0; i < this.length; i++) {
        // Matches identical (===), not just similar (==).
        if (this[i] === value) {
            return true;
        }
    }
    return false;
};

тогда вызовите эту функцию таким образом -

if (myList.inArray('search term')) {
     document.write("It in the list!")
}