Javascript 用数组对象中的应答检查传入应答
我创建了一个函数来检查我的答案。但是,当我单击正确答案时,显示消息会说这是错误的答案。我已经做了好几个小时了。有人能告诉我哪里出了问题吗 用于检查答案的函数:Javascript 用数组对象中的应答检查传入应答,javascript,if-statement,Javascript,If Statement,我创建了一个函数来检查我的答案。但是,当我单击正确答案时,显示消息会说这是错误的答案。我已经做了好几个小时了。有人能告诉我哪里出了问题吗 用于检查答案的函数: function checkAnswer(answer) { let correctAnswer = questionArray[currentQuestion].answer; if (answer !== correctAnswer) { notCorrect(); } else {
function checkAnswer(answer) {
let correctAnswer = questionArray[currentQuestion].answer;
if (answer !== correctAnswer) {
notCorrect();
} else {
isCorrect();
}
count = 0;
if (currentQuestion < lastQuestion) {
currentQuestion++;
showQuestion();
} else {
clearInterval(startTime);
quizScore();
}
}
错误可能发生在
function checkAnswer(answer) {
let correctAnswer = questionArray[currentQuestion].answer;
if (answer !== correctAnswer) {
notCorrect();
这可能是由于questionArray中的questionArray[currentQuestion]
内容与您希望的内容之间存在差异造成的
这只是一个假设,因为我们看不到questionArray的内容。然而,
假设:
questionArray包含{“空载燕子的空速是多少?”,“亚述的首都是什么?”,“你最喜欢的颜色是什么?”}
答案是{“蓝色”、“非洲还是欧洲?”、“亚舒尔”、“黄色”}。
看起来您必须增加currentQuestion,很可能是在for循环中-正确吗?如果是,则该值可能已关闭或阵列可能未对齐
假设:
当前问题为0,因此显示“空载燕子的空速是多少?”。你回答“非洲还是欧洲?”,但是
questionArray[currentQuestion]。答案可能会检索到答案“blue”,blue是假设答案数组中的第一个答案([0])。我同意科尔·亨利奇的观点。下面我自己的测试表明,当answer!==correctAnswer
为false(当答案正确时)
var questionArray=[{'answer':'one'},{'answer':'two'}];
var-currentQuestion=0;
功能检查应答(应答){
让correctAnswer=questionArray[currentQuestion].answer;
如果(答案!==正确答案){
log('notCorrect();');
}否则{
log('isCorrect();');
}
}
核对答案(“一”)代码>是否检查应答
的正确值是否传递到函数中?您是否检查是否访问了questionArray
中的正确元素?answer
有什么数据类型,questionArray[index]有什么数据类型?answer
有什么数据类型?NVM,我正在关注JS和Java问题。我感到困惑:为什么您没有提供questionArray
?!==应该被替换为=@也许没有,但你也应该解释一下,为什么。
function checkAnswer(answer) {
let correctAnswer = questionArray[currentQuestion].answer;
if (answer !== correctAnswer) {
notCorrect();