繁体   English   中英

遍历Javascript中的嵌套对象

[英]Looping through nested objects in Javascript

我是Java的新手,正在开发测验应用程序。 所有测验问题和答案都存储在名为“测验”的对象的数组中。 我正在尝试使用循环来使应用程序在单击按钮时循环显示问题。 但是,我正在使用的循环似乎冻结了我的页面。 关于我要去哪里的任何指示?

//sample object
    quiz = {
        "questions": [
            {
                "question":"Question 1",
                "a":"Answer a1",
                "b":"Answer b1",
                "c":"Answer c1",
                "d":"Answer d1",
            },
            {
                "question":"Question 2",
                "a":"Answer a2",
                "b":"Answer b2",
                "c":"Answer c2",
                "d":"Answer d2",
            }
        ]
    }

//load next question on click   
        $("#next").click(function(){
            for (i=1; i<quiz.questions.length; i.next) {
               $("#question").text(quiz.questions[i].question);
            };
        });
 for (i=1; i<quiz.questions.length; i.next) { 

i.next不会修改i的值。 由于i从不修改,因此永远不会满足第二个条件,因此循环是无限的。

请改用i++


 $("#question").text(quiz.questions[i].question); 

每次循环时,都下一个问题替换文本。 您总是会遇到最后一个问题。

如果要在每次按下按钮时增加,则不应使用for循环。

  • 在功能之外声明i
  • 完全删除for循环
  • i++放在函数末尾
  • 测试i >= quiz.questions.length然后做... ...遇到问题时想做的任何事情。

 i=1 

关于宣告i的主题。 JavaScript数组从0开始。 您可能希望将其初始化为0而不是1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM