我在数组中存储了五个值,我需要检查我设置的变量是否等于其中一个值。这就是我的意思:
var x = e.clientX, // horizontal mouse position
myArray = []; // I have another function that stores five values in this array
if(x == /*one of the five array values*/){
//do something
}
...谢谢
答案 0 :(得分:1)
您可以使用Array.prototype.includes
来检查数组是否包含该值。请注意,Internet Explorer 不支持此,您可以在上述链接中找到polyfill。根据文件:
Array.prototype.includes
includes()
方法确定数组是否包含某个元素,并根据需要返回true或false。
if(myArray.includes(x)) {
//x is in myArray
}
如果您想要这个职位,可以使用indexOf
:
myArray.indexOf(x);
这将搜索项目并返回位置。如果未找到,则返回-1。这可以应用于IE:
if(myArray.indexOf(x) > -1) {
//x is in myArray
}
这确保它存在,因为它检查位置是否大于-1。
答案 1 :(得分:0)
使用indexOf
并检查返回值是否大于或等于零。 indexOf
返回数组中对象的索引,如果不存在则返回-1。您也可以使用includes
,但尚未在所有浏览器中完全支持它。如果值存在于数组中,includes
将返回true
。
var x = e.clientX, // horizontal mouse position
myArray = []; // I have another function that stores five values in this array
if(myArray.indexOf(x)>=0) { // one of the five array values
//do something
}
答案 2 :(得分:0)
if (myArray.indexOf(x) > -1)
{
// value exists - do something
}
如果值不存在于数组中,则myArray.indexOf(x)将返回-1。 如果值存在于数组中,它将返回值索引。
答案 3 :(得分:0)
这将告诉您某个数据库中是否存在某些内容,并且它是向后兼容的。
function inArray(val, ary){
for(var i=0,l=ary.length; i<l; i++){
if(ary[i] === val){
return true;
}
}
return false;
}
/*
// use inArray
if(inArray(yourValHere, yourArrayHere)){
// it's in yourArrayHere so do stuff here
}
// use not inArray
if(!inArray(yourValHere, yourArrayHere)){
// it's not in yourArrayHere so do stuff here
}
*/
答案 4 :(得分:0)
这是你在ES6中的表现方式
var value = 5,
myArray = [1,2,3,4,5];
myArray.some(item => item === value); // <-- true