我有 3 个数组,如果 3 个数组中只有 1 个不为空,我想传递一个 if 语句。我只想在只有 1 个不为空且其他 2 个为空的情况下传递它。
现在我有一个疯狂的 if 语句,想知道它是否可以简化
if((a && !b && !c) || (!a && b && !c) || (!a && !b && c))
Run Code Online (Sandbox Code Playgroud)
假设a、b、 和c是布尔值,其值指示相应的数组是否为空:
(a ^ b ^ c) && !(a && b && c)
如果按顺序异或三个布尔值,当且仅当只有一个变量为 true 或所有三个变量都为 true 时,它才为 true。因此,表达式的第二部分是为了消除所有三个变量都为 true 的情况。
| 归档时间: |
|
| 查看次数: |
953 次 |
| 最近记录: |