如何使用断点遍历多维数组?

时间:2017-02-15 17:53:20

标签: jquery arrays multidimensional-array each

我意识到'断点'可能不是正确的术语。

我有

var sections = [0, 1, 2, 3, 4, 5, 6, 7],
    questions = [];

每个部分都有X个问题,每个部分的问题数量可能不同。我需要能够在任何给定的时间只显示一个部分的问题。因此,section[0]可能有三个问题。我希望能够只查看这三个问题,写下答案,然后转到下一部分。我有这个HTML。我只是错过了jQuery中的部分,基本上“好了,本部分没有更多问题,转到下一部分。”我该怎么做?我可能没有使用正确的术语。我现在拥有的是

$.each(sections, function(i, section) {
    $.each(questions, function(j, question) {
        // stuff to show questions
    });
});

1 个答案:

答案 0 :(得分:1)

假设section数组中的每个sections都是question项的数组,您只需将value的{​​{1}}属性定位为$.each() 1}}:

section

jsfiddle展示了一些示例功能

您希望在每个部分中构建具有一系列问题对象/项目的部分。如果您需要一个完全不同的结构,其中有一个单独的数组用于部分,而另一个数组用于问题,则需要更改此功能,因为您需要通过标识符将给定问题与给定部分相关联。

以下是使用var sections = [ [{ questionId: 1 }, { questionId: 2 }, { questionId: 3 }], //questions for section 1 [{ questionId: 1 }, { questionId: 2 }, { questionId: 3 }, { questionId: 4 }, { questionId: 5 }], //questions for section 2 [{ questionId: 1 }, { questionId: 2 }] //questions for section 3 ]; $.each(sections, function(i, section) { console.log("section " + i + ":"); $.each(section, function(j, question) { console.log("\t" + question.questionId); }); }); 实现该方法的一种方法示例:

filter()