编辑:用 IF-ELSE 语句解决
在我的“if”语句中,or ||比较不起作用。我之前从这个网站得到了一个答案,其中包含这串代码:
if(answers.indexOf(userAnswer.toLowerCase()) !== -1 || answers2.indexOf(userAnswer.toLowerCase()) !== -1)
但是这对我的目的不起作用(它查看 userAnswer 是否在数组中,而我希望如果第三个 userAnswer 与数组中的第三个答案匹配,则该语句为 true。)
这是我的代码:
var answers = ["hello", "my name is sam", "are you healthy?", "what is your name?", "how much does it cost?", "excuse me", "i'm sorry", "yes, i understand", "no, i don't understand", "just wait please", "where is the toilet?"];
var answers2 = ["hello", "my name is sam", "how are you?", "what's your name?", "how much is it?", "excuse me", "sorry", "yes, all right", "no, i don't understand", "wait, please", "where's the toilet?"];
var totalYes = 0;
var ct = 0;
$("#submmit").click(function() {
function checkAnswers() {
var userAnswer = document.getElementById("b" + ct).value.toLowerCase();
/**aforementioned if statement or comparison wannabe on next line**/
if (userAnswer === answers[ct]) {
totalYes++;
$("#correcto").show();
} else {
$("#incorrecto").show();
if (answers[ct] !== answers2[ct]) {
alert("The correct answer is " + "'" + answers[ct] + "'" + " or " + "'" + answers2[ct] + "'");
} else {
alert("The correct answer is " + "'" + answers[ct] + "'");
}
}
}
checkAnswers();
ct++;
});
最佳答案
您是否尝试在 OR 的两侧添加括号?
if(( answers.indexOf(userAnswer.toLowerCase()) !== -1 ) || (answers2.indexOf(userAnswer.toLowerCase()) !== -1 ) );
也许这可以解决这个问题,我总是不确定 js,但它绝对不是一个错误
关于javascript - 或者比较不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23338368/