Вложенные для циклов начинаются с неправильных номеров - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь использовать вложенный цикл 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 ]

1 голос
/ 15 марта 2019

Ты уверен?Я проверил это на узле 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

1 голос
/ 15 марта 2019

Я могу с относительной уверенностью сказать вам, что поведение, которое описывает ваш отпечаток, не является поведением цикла for того типа, который вы написали.

Фактически, копирование вашего точного кода в консоль Chrome (на которой работает V8, то же самое, что и на ноде) даст правильный результат:

enter image description here

Ваша проблема заключается либо в другом месте вашего кода, либо в инструменте, который вы просматриваете при входе в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...