创建一个没有头的特殊字符表



数组中有128个特殊字符。我试图创建一个特殊的字符表没有任何标题是16单元格长,有8行,我有麻烦的循环的逻辑,我正在创建。我已经删除了创建表的部分,因为这是不相关的。

var rowCount = 8;
// For each Row
for (var r = 0; r < rowCount; r++) {
for (var c = (0 + (r * 8)); c < (r * 8) + 16; c++) {
console.log(c);
}
}

因此,对于每一行,我尝试遍历128字符数组中的16项。我拥有的第一个循环,c打印出0-15,正如我所期望的那样,但是当r进入第二次迭代时,c开始从8-23打印,这不是我想要的。我试图让它打印前一次迭代之后的内容,所以16-32,然后第三次迭代33-49,等等。

谁能告诉我我做错了什么,如何纠正我的逻辑?

不要在列的嵌套循环声明中进行任何复杂的数学运算,而是保持该部分简单0-15,然后再进行数学运算。for循环的开始和结束位置并不重要,因为仍然总是有相同数量的行和列(因为您已经静态地声明了它们)。

。,您将尝试在内部循环迭代中完成此操作:

  • for(var c = 0; c < 16; c++){}
  • for(var c = 16; c < 32; c++){}
  • for(far c = 32; c < 48; c++){}

for循环开始和结束的实际数字最终是任意的,重要的是你能够计算它应该迭代的次数…在本例中,列是16倍。所以你只需要0-16。

var rowCount = 8;
// For each Row
for(var r = 0; r < rowCount; r++){
// opening <tr>
for(var c = 0; c < 16; c++){
console.log( (r * 16) + c );
console.log("r" + r + "c" + c);
// do <td> stuff
}
// closing </tr>
}

注意:代码片段切断了一些早期的控制台日志,所以你看不到开头,所以这里是一个小提琴。https://jsfiddle.net/u7fLdt2w/

最新更新