JavaScript Array Beispiel 2: Mehrdimensionale / verschachtelte Arrays

Auch unter JavaScript ist es möglich mehrdimensionale Arrays zu definieren. Dazu wird unter jedem Element eines Arrays einfach ein weiteres Array gespeichert. Im folgenden Beispiel wird der Aufbau eines solchen – in diesem Fall zweidimensionalen – Arrays sowie der Zugriff auf die einzelnen Elemente des Arrays demonstriert.

Als erstes wird eine Variable mit dem Namen matrix definiert. Diese Variable wird mit einem leeren Array initialisiert. Danach wird in einer Schleife, die von 0 bis 9 läuft, jedem Element des Arrays ein weiteres leeres Array – die zweite Dimension – zugewiesen. Das Array der zweiten Dimension wird in der zweiten Schleifenstufe, Zeile für Zeile, direkt mit zehn Werten (widerum von 0 bis 9) gefüllt.

Jetzt enthält das Array matrix also zehn weitere Arrays, in denen die Werte gespeichert sind. Der Zugriff auf die einzelnen Werte erfolgt im nächsten for-Block, in den der Inhalt des Arrays ausgegeben wird. Die Abbruchbedingungen der Schleifen können nun über die Array-Eigenschaft length definiert werden. Wir erinnern uns, dass in der length-Eigenschaft eines Arrays die Anzahl der in ihm gespeicherten Elemente abgelegt ist.

Mit der Document-Methode write wird nun Zeile für Zeile jedes einzelne Element des Arrays ausgegeben. Als Index-Variablen werden i für die erste und j für die zweite Dimension genutzt – i dient also hier der Adressierung der Zeile und j der Adressierung der Spalte. Die Ausgabe des HTML-Tags für den Zeileumbruch (br) bewirkt, dass nach jeder Zeile ein Zeilenumbruch erfolgt.

<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// Leeres Array erzeugen
var matrix = new Array ();
// Füllen der Matrix
for (i = 0; i < 10; i++) {
  // Zweite Dimension im Array erzeugen
  matrix[i] = new Array ();
  // und mit Werten vorbelegen
  for (j = 0; j < 10; j++)
    matrix[i][j] = (j + i) % 9;
}
// Ausgabe der Matrix - Anzahl der Zeilen in length
for (i = 0; i < matrix.length; i++) {
  // Anzahl der Elemente in zweiter Dimension in length
  for (j = 0; j < matrix[i].length; j++)
    // Elemente mit nachfolgendem Leerzeichen ausgeben
    document.write (matrix[i][j] + ' ');
  // Zeilenweise einen Zeilenumbruch ausgeben
  document.write ('<br>');
}
// -->
</script>



¬ Insolvenzrecht