检查三个布尔值中是否有两个为真?

Wil*_*llD 5 javascript if-statement boolean

我需要测试以查看三个布尔值中是否有两个为真。

像这样的东西:

if ((a && b && !c) || (a && !b && c) || (!a && b && c)) {
  // success
}
Run Code Online (Sandbox Code Playgroud)

这是最直接的方法吗?有谁知道快捷方式/速记?

Dav*_*mas 9

要检查两个是否正好等于true

[a, b, c].filter(Boolean).length === 2;
Run Code Online (Sandbox Code Playgroud)

参考:


ave*_*496 6

如果添加值,则可以检查结果是否为 2

if ((a + b + c) == 2) {
    // do something
}
Run Code Online (Sandbox Code Playgroud)