【发布时间】:2020-09-21 13:55:45
【问题描述】:
我有一系列乘法问题。我想通过每一个,显示问题,输入答案,并提供反馈。如果这是正确的回答,那么我想继续回答数组中的下一个问题。我意识到for-loop 在这里可能是错误的,但这是我能想到的。下面的代码不运行。我感谢所有帮助。提前致谢!
pracOnly = ['4*2=','3*3=','5*5=']
var pracAnswer = 0;
for (var i = 0; i < pracOnly.length; i++) {
pracAnswer = pracOnly[i][0] * pracOnly[i][2];
document.getElementById("prac").innerHTML = pracOnly[i];
var userPracAns = document.getElementById("p").value;
if(i == 0) {break;};
if (userPracAns == pracAnswer) {
alert('Correct!');
i = i + 1;
} else {
alert('Not correct')
}
};
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<link rel="stylesheet" href="style.css">
<meta charset="utf-8">
<title>Multiplication</title>
</head>
<h1>Test</h1>
<body>
</section>
<section>
<span id='prac'></span>
<input type="number" id='p'>
<button type="button" onClick="practiceAnswer()">Answer</button>
</section>
</body>
<script src="main.js" charset="utf-8"></script>
</html>
【问题讨论】:
-
太多未定义。您还手动设置
i=i+1,这将导致数组项在循环中跳过。我想你在这里咬的比你能嚼的还多。一次一行,使用 console.log 显示你得到的内容并修复你想要使用的每个变量。从pracAnswer = pracOnly[i][0] * pracOnly[i][2];开始,因为据我所知, pracOnly[i] 是'4*2='而不是数组,所以pracOnly[i][0]将是未定义的。
标签: javascript html for-loop