检查IF语句中的哪个条件为真

问题描述 投票:0回答:2

JavaScript中是否有任何方法可以定义IF语句中的哪个条件得到满足?

例如:

if(a === 1 || b === 2) {
  if(a === 1) {
    // do something
  } else if(b === 2) {
    // do something else
  }
} 

上面的代码按预期工作,但我想知道是否有聪明的方法可以使此操作更容易,尤其是在会有更多条件的情况下。

感谢您的回答。

javascript
2个回答
1
投票

不,除了进行显式测试外,没有提供其他方法来完成您所要求的操作。在这种特定情况下,以下内容等效:

if (a === 1) {
  // do something
}
else if (b === 2) {
  // do something else
}

0
投票

您可以使用布尔逻辑:

let a = 1 , b=24;

let binTests = 0;
binTests |= (a===1)?1:0;
binTests |= (b===2)?2:0;

console.log ( (binTests & 1) ? '(a===1) is true ' : '(a===1) is false '  ) 
console.log ( (binTests & 2) ? '(b===2) is true ' : '(b===2) is false '  ) 
© www.soinside.com 2019 - 2024. All rights reserved.