很高兴见到大家。我是新来的编程这里....我的问题是为什么控制台没有打印字符串"错误",而是打印了"随机"?因为它没有传递第一个语句
const getUserChoice = (userInput) => {
userInput = userInput.toLowerCase();
if (userInput === "rock" || "scissors" || "paper" || "bomb") {
return userInput;
} else {
console.log("Error");
}
};
getUserChoice("Randommm"); //output:'nothing comes out instead of 'Error'
console.log(getUserChoice('rocK')) //output :rock (works fine)
您的if语句没有在第二,第三和第四个条件中进行比较。您必须明确地说明要与什么进行比较。你可以这样做:
(userInput === "rock" || userInput === "scissors" ||userInput === "paper" || userInput === "bomb")
但是我建议你把单词放到一个数组中,如果userinput存在于数组中,再做一个比较。
const choices = ["rock", "scissors", "paper", "bomb"];
const getUserChoice = (userInput) => {
userInput = userInput.toLowerCase();
if (choices.includes(userInput)) {
return userInput;
} else {
console.log("Error");
}
};
console.log(getUserChoice("Randommm")); //output:'Error' instead of 'Randommm'