【问题标题】:How can I access items inside a two-dimensional array?如何访问二维数组中的项目?
【发布时间】:2020-03-13 16:35:37
【问题描述】:

对于一个包含 5 个问题的多项选择测验,我有一个函数可以显示一个问题、创建四个列表项并在其中添加按钮。

我需要将答案选择文本放在按钮中。我有一个包含 5 个数组的数组,每个数组包含 4 个答案选择字符串。我正在努力寻找正确的方法来做到这一点。我尝试使用嵌套的 if 循环和 foreach() 并将按钮 textContent 设置为项目,但似乎无法使其工作。我需要访问第一个内部数组中的 4 个项目,然后在每次迭代时移动到下一个内部数组。

以下是我目前所拥有的。


   var list = document.getElementById("list");
   var btn = document.getElementById("start");
   var question = document.getElementById("question")

   var questionArray = 
   [“Question 1”, 
   “Question 2“,
   “Question 3”,
   “Question 4“,
   “Question 5“];

   var answerArray = 
   [[“answer”, "answer", "answer", "answer"], 
   ["answer", "answer", "answer", "answer"],
   ["answer", "answer", "answer", "answer"],
   ["answer", "answer", "answer", "answer"],
   ["answer", "answer", "answer", "answer"]];


function displayQuestion() {
   for (var i=0; i < questionArray.length; i++) {
       question.textContent = questionArray[i];
       createListItems();
       return;
   }
}

function createListItems() {
   for (var j=0; j < answerArray[0].length; j++) {
       var listItem = document.createElement("li");
       list.appendChild(listItem);
       var answerButton = document.createElement("button");
       listItem.appendChild(answerButton);
   }

}

【问题讨论】:

    标签: javascript arrays function


    【解决方案1】:

    你可以这样实现它:

    function displayQuestion() {
       for (var i = 0; i < questionArray.length; i++) {
          (function(idx) {
             question.textContent = questionArray[idx];
             createListItems(idx);
          })(i);
       }
    }
    
    function createListItems(idx) {
       for (var j=0; j < answerArray[idx].length; j++) {
           var listItem = document.createElement("li");
           listItem.appendChild(document.createTextNode(answerArray[idx]));           
           var answerButton = document.createElement("button");
           listItem.appendChild(answerButton);
           list.appendChild(listItem);
       }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-27
      相关资源
      最近更新 更多