首页 > 解决方案 > Javascript - 遍历数组上的元素,然后是下一个元素

问题描述

我需要构建基于 HTML 表格的数组。我快到了,但停留在一点。让我试着解释一下:

我已经可以构建表格的标题了,我需要多少列,好的

rowLength = 2 在我的情况下,好的 - >所以我需要创建两个数据行

notUniq = 8 ma 元素的全部数量

arrayLength = 4,基本上就是表头列号。

Answers是一个数组,有 8 个元素:Adela Cervantsz,true,Dell,Good lapotp please,false,Barton Friesner,iOS please,iPad

所以我的部分代码:

    for (var k = 0; k < rowLength; k++) {
            string += "<tr>";
            for (var j = 0; j < notUniq; j++) {
                string += "<td style=" + "width: 5%; font-size:70%" + ">" + Answers[j] + "</td>";
            }
            string += "</tr>";
        }

它产生了我: 请单击以检查 所以它创建了 2 行,好的,但每行有 8 列,不行,我只需要前 4 个元素,然后是第 2 个 4 元素。

如果我修改代码,那么如果用arrayLength“for”4次,那么代码是:

    for (var k = 0; k < rowLength; k++) {
            string += "<tr>";
            for (var j = 0; j < arrayLength; j++) {
                string += "<td style=" + "width: 5%; font-size:70%" + ">" + Answers[j] + "</td>";
            }
            string += "</tr>";
        }  

然后我得到 2 行,好的,4 列,好的,但是两行具有相同的值 :( 肯定我需要第一行是前 4 个元素,第二行是接下来的 4 个元素。 请点击这里检查第二个结果

你能帮我解决这个问题吗?我想我需要以某种方式修改/扩展 Answers[l] 部分,以获得前 4 个,然后是下一个。非常感谢任何帮助!谢谢!

标签: javascriptarrays

解决方案


您必须考虑 Answers 数组中的行索引。每个新行,索引必须增加arrayLength。Answers[k*arrayLength + j]应该可以解决问题

for (var k = 0; k < rowLength; k++) {
    string += "<tr>";
    for (var j = 0; j < arrayLength; j++) {
        string += "<td style=" + "width: 5%; font-size:70%" + ">" + Answers[k*arrayLength + j] + "</td>";
    }
    string += "</tr>";
} 

推荐阅读