替代Javascript中的if块中的多个或语句

时间:2015-02-12 00:37:42

标签: 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条件编写||语句?

4 个答案:

答案 0 :(得分:3)

您可以将值存储在数组中,然后使用.indexOf()检查x是否在值数组中:

Example Here

var values = ["An", "Apple", "A", "Day"];

if (values.indexOf(x) !== -1) {
    return true;
} else {
    return false;
}

答案 1 :(得分:2)

matches = ["An", "Apple", "A", "Day"];
if (matches.indexOf(x) > -1){
  return true;
} else{
  return false;
}

答案 2 :(得分:0)

不要if x then true else false只做return x。这样:

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

答案 3 :(得分:-1)

我不是Java编码器,所以可能存在语法错误,但我使用了我在VB中做的概念,然后应用了我用叔叔谷歌发现的语法。

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