while 循环中的多个条件 - Javascript

T_T*_*ner 2 javascript while-loop

我想提示用户输入,如果它不是有效的选项,则在输入有效输入之前重新提示。

现在,无论输入正确与否,它总是会重新提示。

这是代码:

var userChoice = prompt("Do you choose rock, paper, scissors or rope?");
while (userChoice != "rock" || "paper" || "scissors" || "rope") {
    userChoice = prompt("Sorry invalid input, please enter either: rock, paper,scissors, or rope.");
}
Run Code Online (Sandbox Code Playgroud)

看起来这应该是一件简单的事情,我是否误解了如何使用 while 循环?也许运营商错了?没有找到任何有用的东西,任何帮助表示赞赏!

smc*_*mcd 5

您还可以使用数组和 indexOf

var userChoice = prompt("rock, paper, scissors, rope?").toLowerCase();
while (["rock", "paper", "scissors", "rope"].indexOf(userChoice) === -1) {
    userChoice = prompt("Please choose: rock, paper, scissors, rope?").toLowerCase();
}

alert("You chose '" + userChoice + "'");
Run Code Online (Sandbox Code Playgroud)