javascript - 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 个,然后是下一个。非常感谢任何帮助!谢谢!
解决方案
您必须考虑 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>";
}