Oder noch einfacher erklärt:
Ich habe eine Karte, Matrix oder nennt es wie ihr wollt! Die Breite und Höhe können variabel sein, stehen aber in gewisser Weise immer fest.
0 1 2 3 4 5 6 7 8 9 ...
-------------------
0 | 0 0 0 0 0 0 0 0 0 0
1 | 0 0 0 0 0 0 0 0 0 0
2 | 0 0 0 0 0 0 0 0 0 0
3 | 0 0 0 0 0 0 0 0 0 0
4 | 0 0 0 0 0 0 0 0 0 0
5 | 0 0 0 0 0 0 0 0 0 0
6 | 0 0 0 0 0 0 0 0 0 0
7 | 0 0 0 0 0 0 0 0 0 0
8 | 0 0 0 0 0 0 0 0 0 0
9 | 0 0 0 0 0 0 0 0 0 0
...
So, ich erzeuge mir ein Array 2 dimensionales Array:
matrix = new Array(10);
for (x = 0; x < 10; x++) matrix[x] = new Array(10);
Dann setze ich bspw. die Position 5;5 auf wahr: matrix[5][5] = true;
Und nun kann ich ganz einfach abfragen, ob die Position 1;1 gesetzt ist: if(matrix[1][1])... dies würde mir undefined bringen, weil das Element nocht nicht gesetzt wurde!
Warum sollte man das so machen?:
matrix = new Array(10);
for (x = 0; x < 10; x++) {
matrix[x] = new Array(10);
for (y = 0; y < 10; y++) matrix[x][y] = false;
}
Das wären 100 Schleifendurchläufe, die man auf einfache Art und Weise umgehen kann..
Warum mitgebrachte Funktionalität von JavaScript nicht nutzen?
Grüße