检查多个或条件的更短方式

Som*_*Guy 6 javascript if-statement

是否有更简单的方法来检查一个变量值与其他几个变量值?目前我正在使用这样的代码:

if(a[i] == a[i-13] || a[i] == a[i+13] || a[i] == a[i-1] || a[i] == a[i+1]){
  //my code
}
Run Code Online (Sandbox Code Playgroud)

现在,有更短的方法吗?我知道我可以使用开关,但是我必须多次编写我的函数.有更简单的方法吗?

Phr*_*ogz 5

您无需使用开关多次编写函数:

switch(a[i]){
  case a[i-13]:
  case a[i+13]:
  case a[i-1]:
  case a[i+1]:
    // This code will run if any of the above cases are true.
}
Run Code Online (Sandbox Code Playgroud)

然而,有趣的是,这几乎是相同数量的字符(取决于你如何格式化它).一般来说,switch语句不如显式if语句强大,但在这种情况下,我发现它更清晰,更不容易出错.