Logic 如何使这个逻辑表达式更简单?

Logic 如何使这个逻辑表达式更简单?,logic,Logic,我总是得到这样的表达: while(choice != "left" || choice != "right" || choice != "up" || choice != "down") 有没有更简单的说法?这个句子不是个好主意。它总是返回真实。你是说 而(选择!=“左”&&choice!=“右”&&choice!=“上”&&choice!=“下”) 如果没有,您可以将其简化为while(true):)您可以这样做: var isOneOf = function isOneOf(matche

我总是得到这样的表达:

while(choice != "left" || choice != "right" || choice != "up" || choice != "down")

有没有更简单的说法?

这个句子不是个好主意。它总是返回真实。你是说

而(选择!=“左”&&choice!=“右”&&choice!=“上”&&choice!=“下”)


如果没有,您可以将其简化为while(true):)

您可以这样做:

var isOneOf = function isOneOf(matches, givenItem) {
    return matches.some(function (match) {
        return match === givenItem; 
    }); 
}; 

while (!isOneOf(['left', 'right', 'up', 'down'], choice)) {

    // ...continue 

}

那是哪种语言?这样的解决方案看起来更好:虽然(选择不在[“左”、“右”、“上”、“下”])中,但您遗漏了一些要点。如果值不在列表中,它将不会进入循环。虽然(真的)总是进入。啊,实际上我没有抓住重点。确保它总是返回true.:)逻辑是错误的。呵呵,当然,但是对于他问的实际问题,根据语言的不同,你的答案是最准确的。