Я пытаюсь напечатать список координат, и я подумал, что для этого подойдет вложенный цикл, поэтому я написал следующий код (очень простой):
var x = 23;
var y = 34;
var z = 28;
var div = document.getElementById("coordinates");
div.innerHTML += "<ul>";
for (var i = 1; i <= x; i++) {
for (var j = 1; j <= y; j++) {
for (var k = 1; k <= z; k++) {
div.innerHTML += "<li>X: " + i + " Y: " + j + " Z: " + k + "</li>";
}
}
}
div.innerHTML += "</ul>";
Когда я это делаю, я ожидаю действительно огромное количество элементов (в данном случае 23 * 34 * 28 элементов), но вместо этого я получаю это:
X: 1 Y: 1 Z: 1
X: 1 Y: 1 Z: 2
X: 1 Y: 1 Z: 3
X: 1 Y: 1 Z: 4
X: 1 Y: 1 Z: 5
X: 1 Y: 1 Z: 6
X: 1 Y: 1 Z: 7
X: 1 Y: 1 Z: 8
X: 1 Y: 1 Z: 9
X: 1 Y: 1 Z: 10
X: 1 Y: 1 Z: 11
X: 1 Y: 1 Z: 12
X: 1 Y: 1 Z: 13
X: 1 Y: 1 Z: 14
X: 1 Y: 1 Z: 15
X: 1 Y: 1 Z: 16
X: 1 Y: 1 Z: 17
X: 1 Y: 1 Z: 18
X: 1 Y: 1 Z: 19
X: 1 Y: 1 Z: 20
X: 1 Y: 1 Z: 21
X: 1 Y: 1 Z: 22
X: 1 Y: 1 Z: 23
X: 1 Y: 1 Z: 24
X: 1 Y: 1 Z: 25
X: 1 Y: 1 Z: 26
X: 1 Y: 1 Z: 27
X: 1 Y: 1 Z: 28
Когда я ожидал, что он продолжит что-то вроде:
X: 1 Y: 2 Z: 1
X: 1 Y: 2 Z: 2
X: 1 Y: 2 Z: 3
X: 1 Y: 2 Z: 4
...
Это похоже на петлю только один раз через две первые петли.
Я думаю, что пытаюсь сделать что-то действительно простое, так что я делаю не так?
PD: Пока мне не нужно экономить память или какую-либо оптимизацию, я знаю, что такие циклы могут быть огромными, если значения x, y, z высоки.