Javascript测验数组问题

时间:2015-07-15 22:43:47

标签: javascript arrays

这是一个codepen,所以你可以看到发生了什么:codepen

我相信我遇到了阵列问题。如果您在最后一个问题上回答正确,则不会添加总分,并且控制台中会弹出错误。我玩移动addScore功能,但仍然没有运气,但是在上一个问题之后仍然显示“你得到正确的好工作”。

我最后还有一些文字显示了你的最终得分,但这似乎出现在最后一个问题而不是最后一个问题之后。我想知道shift()方法是否搞乱了它?

QuestionView.prototype.nextQuestion = function() {
        this.currentQuestion = this.collection.shift();
        this.showQuestion();
        this.handleQuestion();
        this.showScoreAndCount();
}

1 个答案:

答案 0 :(得分:0)

错误发生在showQuestion()中,考虑到在最后一个问题之后没有留下任何问题,这是预期的。如果你把它按照这个顺序排列,它会正确计算最后一个答案

QuestionView.prototype.nextQuestion = function() {
    this.showScoreAndCount();
    this.currentQuestion = this.collection.shift();
    this.showQuestion();
    this.handleQuestion();
}

由于代码在错误处停止执行,只需将计数部分放在错误之前就可以解决问题。这样它也会将问题编号增加到6/5,但这是次要的。在某个地方(或在几个地方),如果它是最后一个问题,你需要做一个有条件的做不同的事情。

我没有看到最后的任何文字显示你的最终得分,顺便说一句。在角落里得分相同。