嵌套的循环从错误的数字开始

时间:2019-03-15 19:21:41

标签: node.js typescript for-loop nested electron

我正在尝试使用嵌套的for循环为方法调用创建x和y坐标。但是,console.log显示循环变量以错误的值开头。为什么是这样?这是我的代码:

for(let x = 0; x < 64; x++) {
    console.log(x);
    for(let y = 0; y < 32; y++) {
        console.log(y);
    }
}

此打印:

22
23
24
25
26
27
28
29
30
31
34
0
1
2
3
4
5
6
7
8
[values 9 - 30 omitted]
31
34
1

...等等

2 个答案:

答案 0 :(得分:1)

我可以相对自信地告诉您,您的印刷品所描述的行为不是您编写的那种for循环会产生的行为。

实际上,将您的确切代码复制粘贴到Chrome控制台(运行V8,与节点相同)会产生正确的结果:

enter image description here

您的问题出在代码中的其他位置或您要登录的工具中。

答案 1 :(得分:1)

确定吗?我已经在节点v8.9.1上对其进行了测试,并且代码按预期对我有效:

  • 外部循环从索引0开始,并在控制台上打印出来,
  • 然后,内部循环将打印数字0到31。
  • 依次,外循环从索引1继续,该索引在控制台和
  • 上打印
  • 然后内循环显示0到31,
  • 依此类推

在某些时候您可能会对输出感到困惑。因此,我的建议是在控制台输出的前面加上x和y,如下所示。

for(let x = 0; x < 64; x++) {
    console.log('x=' + x);
    for(let y = 0; y < 32; y++) {
        console.log('y=' + y);
    }
}

您也可以在repl.it

上试用