0

我是 Javascript 的新手,对此我感到很困难。这些数字最多可以计算 100 行,并且应该超过 10 列。我只能让列在页面上向下计数,而不是像我想要的那样跨越。现在,列号读取为奇数而不是按顺序读取。我不知道我是如何导致这种情况发生的。列号应为 1 到 10,并向下阅读 100 行。请帮忙!非常感谢,提前!

  var RowNum = 1;
  var ColNum = 1;

  for(RowNum=1; RowNum<=100; RowNum++)
for(ColNum=1; ColNum<=10;ColNum++)
  {
  document.write("RowNum: " + RowNum + " " + "Column: " + ColNum + "</br>");
  RowNum++;
  ColNum++;
   }
   while
   (RowNum <=100);
RowNum = RowNum + 1;
   while
    (ColNum<=10);


ColNum = ColNum + 1;
4

4 回答 4

2
for(RowNum=1; RowNum<=100; RowNum++)
for(ColNum=1; ColNum<=10;ColNum++)
{
  document.write("RowNum: " + RowNum + " " + "Column: " + ColNum + "</br>");
  //RowNum++;  remove this
  //ColNum++;  remove this
}

奇数问题是由这个“ColNum++”引起的,ColNum 是一个“for”循环变量,每次都会递增,然后在同一轮中将它增加 1,这将使行

document.write("RowNum: " + RowNum + " " + "Column: " + ColNum + "</br>");

仅适用于奇数

于 2013-11-09T07:38:27.383 回答
0

您使这更容易我建议您在 HTML 中手动生成 2 或 3 列和几行,以便您可以查看需要写入文档的格式。

现在,您只是吐出 1000 行带有 HTML 中断的文本节点,并且其中没有任何标记可以为您提供行/列数据布局。除非您知道最终的 HTML 标记应该是什么样子,否则您不会走得太远。

此外,您在已经增加它们的循环中增加 RowNum 和 ColNum ,这样就会出现可怕的错误。看看@Mageek 对两个嵌套循环所做的事情,这对您来说更容易理解,但仍然会生成页面下方的所有内容。

于 2013-11-09T07:37:18.490 回答
0

最简单的方法是使用嵌套循环。(另一个循环中的一个循环)第一个循环创建 TR 元素,而第二个循环为该行创建 TD 元素。

var rows=100;
var cols=10;

document.write("<table>");
  for (i=0; i<rows; i++) {
    document.write("<tr>");
      for (j=0; j<cols; j++) {
        document.write("<td>col"+j+"</td>");
      }
    document.write("</tr>");
  }
document.write("</table>");
于 2013-11-09T19:58:43.227 回答
0

TL;DR:你的错误是放在for; 里面RowNum++;ColNum++;删除它们,它将起作用。

尝试这个:

  var maxRow = 100;
  var maxCol = 10;
  for (var i = 0; i < maxRow; i++) {
      for (var j = 0; j < maxCol; j++) {
          document.write("RowNum: " + i + " " + "ColNum: " + j + "</br>");
      }
  }

因为首先,您不需要在循环中添加RowNum++;ColNum++;,它已经在这里:for(RowNum=1; RowNum<=100; RowNum++). 接下来是不是

while
   (RowNum <=100);
RowNum = RowNum + 1;

相当于RowNum+=100;?(但要快得多)最后还是不行,RowNum+=100;因为你放;了一段时间。

于 2013-11-09T07:31:52.400 回答