我需要构造基于HTML表的数组。我快到了,但是停留在一点上。让我尝试解释一下:
我已经可以构造表的标题了,并可以根据需要添加尽可能多的列,
rowLength = 2,好吧->因此,我需要创建两个数据行
notUniq = 8个ma元素的总数
arrayLength = 4,基本上就是表头的列号。
答案是一个数组,包含8个元素:Adela Cervantsz,true,Dell,Good lapotp please,false,Barton Friesner,iOS iOS,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>";
}
它产生了我: Please click to check 因此,它可以创建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个元素。 Please click here to check the 2nd result
您能帮我吗?我猜我需要以某种方式修改/扩展Answers [l]部分,以获取前4个,然后获取下一个。 非常感谢您的帮助!谢谢!
答案 0 :(得分:0)
您必须考虑Answers数组中的行索引。对于每个新行,索引必须增加arrayLength。 答案[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>";
}
答案 1 :(得分:0)
尝试以下操作:
var length = i = 0;
for (var k = 0; k < rowLength; k++) {
length+=arrayLength;
string += "<tr>";
for (var j = i; j < length; j++) {
string += "<td style=" + "width: 5%; font-size:70%" + ">" + Answers[j] + "</td>";
}
string += "</tr>";
i+=arrayLength;
}