Javascript中if块中多个or语句的替代方法

Javascript中if块中多个or语句的替代方法,javascript,language-agnostic,Javascript,Language Agnostic,我得检查一下 if(x == "An" || x == "Apple" || x == "A" || x == "Day" || x == "Keeps" || x == "The"....and so on){ return true; } else{ return false; } 对于大量的|条件,是否有更好的方法编写if语句?您可以将值存储在数组中,然后使用以下方法检查x是否在值数组中: 您可以将值存储在数组中,然后使用以下方法检查x是否在值数组中: 我不是

我得检查一下

if(x == "An" || x == "Apple" || x == "A" || x == "Day" || x == "Keeps" || x == "The"....and so on){
      return true;
}
else{
     return false; 
}

对于大量的
|
条件,是否有更好的方法编写
if
语句?

您可以将值存储在数组中,然后使用以下方法检查
x
是否在值数组中:


您可以将值存储在数组中,然后使用以下方法检查
x
是否在值数组中:


我不是Java程序员,所以可能会有语法错误,但我使用了VB的概念,然后应用了使用Google叔叔发现的语法

string[] SearchTerm = { "An", "Apple", "A","Day","Keeps","The" }
for(String str : SearchTerm){
    if(x==SearchTerm[i]){
        return true;
        break;
    }
    else{
        return false;
    }
}

我不是Java程序员,所以可能会有语法错误,但我使用了VB的概念,然后应用了使用Google叔叔发现的语法

string[] SearchTerm = { "An", "Apple", "A","Day","Keeps","The" }
for(String str : SearchTerm){
    if(x==SearchTerm[i]){
        return true;
        break;
    }
    else{
        return false;
    }
}

如果x为真,则不执行
如果x为真,否则为假
只执行
返回x
。因此:

var values = [...];
return values.indexOf(x) > -1;

如果x为真,则不执行
如果x为真,否则为假
只执行
返回x
。因此:

var values = [...];
return values.indexOf(x) > -1;

switch
语句将更加结构化,将用于比较的目标字符串保留在数组中将更加整洁。
switch
语句将更加结构化,将用于比较的目标字符串保留在数组中将更加整洁。请向OP(以及SO的未来访问者)解释你为什么这么做。请向OP(以及未来的SO访客)解释你为什么这么做。