开发者

Javascript if in x [duplicate]

This question already has answers here: 开发者_StackOverflow Closed 11 years ago.

Possible Duplicates:

Test for value in Javascript Array

Best way to find an item in a JavaScript Array ?

Javascript - array.contains(obj)

I usually program in python but have recently started to learn JavaScript.

In python this is a perfectly valid if statement:

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!"

but I have had poblems doing the same thing in Javascript.

How do you check if x is in list y in JavaScript?


Use indexOf which was introduced in JS 1.6. You will need to use the code listed under "Compatibility" on that page to add support for browsers which don't implement that version of JS.

JavaScript does have an in operator, but it tests for keys and not values.

p.s. original answer is from 2011, now it's supported by all browsers in use. https://caniuse.com/?search=indexof


In javascript you can use

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

p.s. only ancient browsers don't support it

https://caniuse.com/?search=indexof


in more genric way you can do like this-

//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;
};

then call this function in this way-

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜