下面是我的真值表(OP是所需的输出)
X | Y | Z | OP
--------------------------
F | F | F | F
F | F | T | F
F | T | F | T
F | T | T | T
T | F | F | T
T | F | T | F *
T | T | F | T
T | T | T | T
--------------------------
这是我的流量控制逻辑
IF(X === TRUE || Y === TRUE) {
IF(Z === TRUE && Y === FALSE) {
OP = FALSE
} ELSE {
OP = TRUE
}
}
IF(X === FALSE || Y === FALSE) {
OP = FALSE
}
但它在*
条件下失败了。我能不能建议一个合适的逻辑方法来解决这个问题
答案 0 :(得分:1)
OP = Y || (X && !Z)
也就是说,只要Y为真,或者X为真但不是Z,则输出为真。
function test(x, y, z) {
var op = y || (x && !z)
console.log(x, y, z, op)
}
test(false, false, false)
test(false, false, true)
test(false, true, false)
test(false, true, true)
test(true, false, false)
test(true, false, true)
test(true, true, false)
test(true, true, true)