簡體   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