如果在x中的Javascript

Javascript if in x

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicates:
Test for value in Javascript Array
Best way to find an item in a JavaScript Array ?
Javascript - array.contains(obj)

我通常用python编程,但最近开始学习javascript。

在python中,这是一个完全有效的if语句:

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

但是我让Poblems在JavaScript中做同样的事情。

如何在javascript中检查x是否在列表y中?


使用JS1.6中介绍的indexof。您需要使用该页面"兼容性"下列出的代码来添加对不实现该版本JS的浏览器的支持。

javascript确实有一个in操作符,但它测试的是键而不是值。


在javascript中,您可以使用

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

P.S.:仅在现代浏览器中支持。


以更具性别的方式,你可以这样做-

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//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;
};

然后用这种方式调用这个函数-

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