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!")
}
精彩评论