如何在每个刷新页面上重置整数计数器



大家好,希望你们做得好,我的整数计数器在刷新页面后没有重置。我正在使用numCorrect来存储值,我想知道是否有任何方法可以在重新加载窗口时传入一个函数,并将numCorrect重置为0。如有任何意见,我们将不胜感激。非常感谢您,祝您今天愉快!

router.post("/result", (req, res) => {
// compared key answer which is from Questions data to the users answers using req.body
for (var i = 0; i < Questions.length; i++) {
let userAnswer = "";
let numCorrect = 0;
userAnswer = req.body[i + 1];
let keyAnswer = Questions[i].answer;
if (userAnswer === keyAnswer) {
numCorrect++;
}
}
res.json({
// needs a function to check whether the use passed or failed
summary: checker(),
score: numCorrect,
total: countNum(),
});
});

当最后一个问题的答案为true时,您的代码每次都会返回分数1,因为您在循环中声明了变量。

你的代码应该是这样的:

router.post("/result", (req, res) => {
let numCorrect = 0;    
for (var i = 0; i < Questions.length; i++) {
let userAnswer = "";
userAnswer = req.body[i + 1];
let keyAnswer = Questions[i].answer;
if (userAnswer === keyAnswer) {
numCorrect++;
}
}
res.json({
// needs a function to check whether the use passed or failed
summary: checker(),
score: numCorrect,
total: countNum(),
});
});

因此,当每次新路由匹配时,numCorrect将重置为0,然后循环将根据正确答案增加numCorrect的值。

最新更新