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>

Letzte Posts aus unserem Forum

Stream musik

Hallo, ich bin auf der Suche nach einem Script, mit dem ich einen Leser für Audio-Spuren in eine Html-Webseite einfügen kann. Ich brauche dabei ... » mehr

von Finlay am Sonntag, 22. Januar 2012 22:52 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Montag, 23. Januar 2012 17:02 von alm

Hallo, wenn es um einen MP3-Player geht, dann sollte jplayer das Richige sein. Einfach mal den Suchschlitz der Suchmaschine Deiner Wahl nutzen. ... » mehr

Überbelnd effect in javascript gallerie

ich habe hier einie gallerie die funktioniert problem los aber hat noch kein über belnd effect jedoch würde ich diesen gerne einfügen aber ich habe ... » mehr

von faebe am Freitag, 20. Januar 2012 20:19 in JavaScript - noch nicht beantwortet

XML per JavaScript verarbeiten - IE

Hallo! Vielen Dank für das super kommentierte Script-Beispiel zur Weiterverarbeitung von XML-Dateien per JavaScript: ... » mehr

von gn0me am Freitag, 11. März 2011 19:03 in JavaScript - noch nicht beantwortet

Galerie Erweiterung

Hi, zu erst mal ein Lob an Eure Galerie. Nun habe ich allerdings eine Frage um die Galerie eventuell zu erweitern. Derzeit wird auf meiner Seite ... » mehr

von G-RuN am Dienstag, 25. Januar 2011 17:13 in JavaScript - bisher 8 Antworten
Letzter Beitrag: Dienstag, 1. Februar 2011 17:11 von G-RuN

Hat sich erledigt. Mir haben noch die Zuweisung von der Variablen anzahl_bilder und anzahl_thumbnails gefehlt. Grüße, ... » mehr

bei submit ein neues Fenster öffnen

Hallo, ich habe hier ein kleines Problem und ... » mehr

von Kallchen am Freitag, 14. Januar 2011 23:07 in JavaScript - bisher 3 Antworten
Letzter Beitrag: Samstag, 15. Januar 2011 12:47 von alm

window.location = "_blankeineseite.html"; Das funktioniert auf keinen Fall. Die Location-Eigenschaft muss eine URL enthalten und wird bei ... » mehr



¬ Insolvenzrecht