Arrays

Arbeiten mit Arrays



Arrays
Arrays sind Variablencontainer, die mehrere Variablen beinhalten
können. Auf eine einzelne Variable im Container greift man über den
Variablennamen und einer Nummer zu. Die Nummer nennt man auch Index.
Standardmäßig wird ein Array in JavaScript folgendermaßen definiert:
var a = new Array() a[l] =
"Januar"
a[2] = "Februar"
//usw.
Mit der ersten Zeile, var a = new Array(), wird eine
Arrayvariable deklariert. Man kann auch einen Parameter übergeben, aber da gibt
es je nach JavaScript-Version Unterschiede. Kleiner Hinweis am Rande: Wenn man mehr als einen Parameter
übergibt, kann man das Array vorbelegen:

var a = new Array("Januar",
"Februar", "März")
Der Index, über den auf ein Array-Element zugegriffen wird, steht in eckigen
Klammern. JavaScript- Arrays beginnen, wie in vielen anderen Programmiersprachen
und in Java übrigens auch, mit 0. Mit obigem Aufruf würde also a[2] auf März
gesetzt. Man müsste die Anweisung folgendermaßen modifizieren, damit a[3] den
Wert März enthält:

var a = new Array ("",
"Januar", "Februar",
"März")
Leider werden Sie solchen Code nicht auf allen Seiten finden. Das hat
historische Gründe: In allen Versionen des Netscape Navigator 2 waren Arrays
nicht so. Der Internet Explorer 3 unterstützt auch nur eine Rohform der Arrays.
Die Netscape-Entwickler haben das Problem erkannt (aber erst in Browser-Version
3 behoben) und in ihrer Dokumentation eine Möglichkeit vorgestellt, um Arrays
auch mit dem Netscape Navigator 2 zu erzeugen. Eine leicht modifizierte Version
dieses Codes wird hier vorgestellt.
Zuerst einmal muss man auf allen Seiten, die Arrays verwenden, folgenden Code
plazieren:

function MakeArray(n){ for (var i=0; i<n; i++)
this[i] = 0 this.length = n }
Vereinfacht gesagt, kann nun mit MakeArray() ein Array erzeugt werden. Als Parameter wird die Anzahl der Elemente
im Array festgelegt. Jedes Element wird mit dem Wert 0 vorbelegt. Außerdem kann
man (bei korrekter Verwendung) über Arayname.length herausfinden, wie viele Elemente das Array überhaupt enthält
(wie bei normalen Arrays auch). Somit hat man die wichtigsten Funktionalitäten
der JavaScript-Arrays nachgebildet.
Das Beispiel von oben lässt sich nun folgendermaßen darstellen - und diesmal
auch auf dem Netscape Navigator 2:
var m =
new MakeArray(l3)

m[0] = "Unbekannter Monat"

m[1] = "Januar"

m[2] = "Februar"

m[3] = "März"

m[4] = "April"

m[5] = "Mai"

m[6] = "Juni"

m[7] = "Juli"

m[8] = "August"

m[9] = "September"
m[10] = "Oktober"

m[11] = "November"

m[12] = "Dezember"
Beachten Sie, dass das Array 13 Elemente enthalten muss, da (zur besseren
übersichtlichkeit) der Index des entsprechenden Monatsnamens im Array mit der
Monatszahl identisch sein soll. Es gibt also 13 Array-Elemente, der Index läuft
von 0 bis 12.
Es stellt sich nun natürlich die Frage, ob man Netscape Navigator 2 (und
indirekt auch Internet Explorer 3) überhaupt noch explizit unterstützen sollte,
da der Anteil dieser Browser im niedrigen einstelligen Bereich liegt. Dennoch
stehe ich auf dem Standpunkt, dass man - sofern möglich - abwärtskompatibel
programmieren sollte. Auch wenn Benutzer alter Browser im Web sowieso eine Menge
Fehlermeldungen gewohnt sind, hebt man sich gerade dann wohltuend von der Masse
der Seiten (insbesondere der der Konkurrenten) ab, wenn man Fehlermeldungen
möglichst vermeidet. Wenn der Aufwand nicht allzu groß ist, sollte man die
Extra-Arbeit tun, denn ein potentieller Kunde könnte durch eine vermeidbare
Fehlermeldung abgeschreckt werden.