Array | NN 3 IE 4 ECMA 1 | |||||||||||
Ein Array ist eine geordnete Objektsammlung aus einem oder mehreren Datenelementen. JavaScript-Array-Einträge können jeden beliebigen Datentyp aufweisen, und ein Array kann verschiedene Datentypen enthalten. Jedem Eintrag in einem Array ist ein Index zugeordnet. Das Standardverhalten für den Index ist ein auf Null basierender Integer (der erste Eintrag hat den Index Null [0]). Ein Indexwert kann auch in Form eines Strings vorliegen, wobei sich der Stringindex jedoch wie der Eigenschaftsname eines Array-Objekts verhält und keinen Einfluss auf die numerischen Indizes hat. (Daher können durch Strings indizierte Einträge nicht anhand der Eigenschaft length, sondern nur mithilfe einer for-in-Schleife durchlaufen werden.) Ein Array-Objekt kann sowohl durch Integer als auch durch Strings indizierte Elemente in separaten Mengen enthalten. |
||||||||||||
Der Zugriff auf einen Eintrag in einem Array erfordert den Namen des Arrays und den Index in eckigen Klammern: cars[0] cars["Ford"] |
||||||||||||
Sie können auch ein Array erstellen, das seinerseits Arrays enthält, um ein mehrdimensionales Array zu simulieren. Zum Referenzieren eines Elements in einem zweidimensionalen Array wird folgende Syntax verwendet: myArray[x][y] |
||||||||||||
Die Anzahl von Einträgen in einem JavaScript-Array (die Länge) kann sich mit der Zeit ändern. Daher ist es weder erforderlich noch in irgendeiner besonderen Weise von Vorteil, ein leeres Array für eine bestimmte Größe zu initialisieren. Wenn Sie einem Array unbestimmter Länge einen neuen Eintrag hinzufügen möchten, weisen Sie den gewünschten Wert dem jeweils nächsthöheren Array-Indexwert zu: |
||||||||||||
IE ab Version 4 und Navigator ab Version 4 unterstützen ein verkürztes Verfahren zum Erstellen von Arrays, bei dem die Werte in literaler Schreibweise in eckigen Klammern stehen. cars[cars.length] = "Bentley"; |
||||||||||||
Eigenschaften | ||||||||||||
|
||||||||||||
Methoden | ||||||||||||
|
||||||||||||
Erstellen eines Array | ||||||||||||
var myArray = new Array( ); var myArray = new Array(sizeInteger); var myArray = new Array(element0, element1, ..., elementN); var myArray = [element0, element1, ..., elementN]; |
constructor | NN 4 IE 4 ECMA 1 |
Lesen/Schreiben | |
Dies ist eine Referenz auf die Funktion, die die Instanz eines Array-Objekts erstellt hat – die native Array( )-Konstruktorfunktion in einem Browser. |
|
Beispiel | |
if (myVar.constructor == Array) { // process native string } |
|
Wert | |
Funktionsobjektreferenz. |
length | NN 3 IE 4 ECMA 1 |
Lesen/Schreiben | |
Gibt die Anzahl numerisch indizierter Einträge zurück, die in einem Array gespeichert sind. Falls die Konstruktorfunktion, die zum Erstellen des Arrays verwendet wurde, eine vorläufige Länge angibt, spiegelt die Eigenschaft length diesen Wert wider, auch wenn die Daten nicht jeden Slot belegen. |
|
Beispiel | |
for (var i = 0; i < myArray.length; i++) { ... } |
|
Wert | |
Integer. |
prototype | NN 3 IE 4 ECMA 1 |
Lesen/Schreiben | |
Dies ist eine Eigenschaft des statischen Array-Objekts. Mit der Eigenschaft prototype können Sie späteren Array-Instanzen im aktuellen Dokument neue Eigenschaften und Methoden zuweisen. Beispielsweise erstellt die folgende Funktion eine durch Wagenrücklauf getrennte Liste von Elementen in einem Array, und zwar in umgekehrter Reihenfolge: |
|
Damit dies in einem Array möglich ist, weisen Sie diese Funktionsreferenz einer prototype-Eigenschaft zu, deren Name als Methode verwendet werden soll, um diese Funktion aufzurufen: |
|
Wenn ein Skript an dieser Stelle ein Array erstellt: |
|
kann das neue Array die Methode showReverseList( ) verwenden. Der Aufruf dieser Methode lautet: |
|
Auf die gleiche Weise können Sie Eigenschaften hinzufügen. Mit diesen Eigenschaften können Sie Informationen über das Array hinzufügen (z. B. das Erstellungsdatum), ohne dass die geordnete Reihenfolge der Array-Daten beeinträchtigt wird. Wenn ein neues Dokument in das Fenster bzw. den Frame geladen wird, startet das statische Array-Objekt erneut. |
|
Beispiel | |
Array.prototype.created = ""; |
|
Wert | |
Beliebige Daten, einschließlich Funktionsreferenzen. |
concat( ) | NN 4 IE 4 ECMA 3 |
concat(item1[, item2[, ...itemN]]) | |
Gibt ein Array zurück, das das aktuelle Array-Objekt mit einem oder mehreren weiteren als Parameter an die Methode übergebenen Array-Objekten (oder anderen Werten) kombiniert. |
|
Dabei wird keines der ursprünglichen Arrays geändert. |
|
Parameter | |
|
|
Zurückgegebener Wert | |
Ein Array-Objekt. |
join( ) | NN 3 IE 4 ECMA 1 |
join(["delimiterString"]) | |
Gibt einen String zurück, der aus einer Liste von Elementen (als Strings) besteht, die in einem Array enthalten sind. Die Trennzeichen zwischen den Elementen werden durch den Parameter für die Methode definiert. Beachten Sie, dass in einem Array nur solche Elemente enthalten sind, auf die über einen ganzzahligen Index zugegriffen werden kann. Elemente, die über einen Stringindexwert referenziert werden, werden als Eigenschaften des Array-Objekts behandelt und sind daher unabhängig von ganzzahligen Indexwerten. Allerdings können beide Eintragstypen problemlos in einem Array enthalten sein. Die Methode join( ) funktioniert nur in Verbindung mit den ganzzahlig indizierten Elementen. |
|
Parameter | |
|
|
Zurückgegebener Wert | |
String. |
pop( ) | NN 4 IE 5.5(Win) ECMA 2 |
Gibt den Wert des letzten Elements in einem Array zurück und entfernt es aus dem Array. Die Länge des Arrays wird um eins verringert. |
|
Parameter | |
Keine. |
|
Zurückgegebener Wert | |
Ein beliebiger JavaScript-Wert. |
push( ) | NN 4 IE 5.5(Win) ECMA 2 |
push(item1[, item2[, ...itemN]]) | |
Hängt ein oder mehrere Elemente an das Ende eines Arrays an. Die Länge des Arrays wird um eins erhöht. |
|
Parameter | |
|
|
Zurückgegebener Wert | |
Der zum Array hinzugefügte Wert. |
reverse( ) | NN 3 IE 4 ECMA 1 |
Kehrt die Reihenfolge der Elemente in einem Array um und gibt eine Kopie des Arrays in der neuen Reihenfolge zurück. Die Methode reverse( ) sortiert nicht nur die Werte im Array neu, sondern gibt auch eine Kopie des neu sortierten Arrays zurück. |
|
Parameter | |
Keine. |
|
Zurückgegebener Wert | |
Ein Array-Objekt. |
shift( ) | NN 4 IE 5.5(Win) ECMA 2 |
Gibt den Wert des erstem Elements in einem Array zurück und entfernt es aus dem Array. Die Länge des Arrays wird um eins verringert. |
|
Parameter | |
Keine. |
|
Zurückgegebener Wert | |
Ein beliebiger JavaScript-Wert. |
slice( ) | NN 4 IE 4 ECMA 2 |
slice(startIndex[, endIndex]) | |
Gibt ein Array zurück, das eine Teilmenge der aneinander grenzenden Elemente aus dem Haupt-Array bildet. Parameter legen fest, wo die Auswahl beginnt und endet. |
|
Parameter | |
|
|
Zurückgegebener Wert | |
Ein Array-Objekt. |
sort( ) | NN 3 IE 4 ECMA 1 | |||||||
sort([compareFunction]) | ||||||||
Sortiert die Werte des Arrays entweder nach dem ASCII-Wert der Stringversion jedes Array-Eintrags oder nach einer von Ihnen erstellten Vergleichsfunktion. Die Methode sort( ) ruft die Vergleichsfunktion wiederholt auf und übergibt zwei Werte vom Array. Die Vergleichsfunktion sollte einen Integerwert zurückgeben, der von der Funktion sort( ) wie folgt interpretiert wird: |
||||||||
Die folgende Vergleichsfunktion sortiert die Werte eines Arrays in numerischer Reihenfolge (anstelle der ASCII-Reihenfolge): |
||||||||
Zum Sortieren eines Arrays nach dieser Funktion lautet die Anweisung: |
||||||||
Wenn die Methode sort( ) abgeschlossen ist, wurden alle Werte jeweils paarweise an die Funktion doCompare( ) gesendet und die Wertepaare danach sortiert, ob der erste oder der zweite Wert der größere von beiden ist. |
||||||||
Die Methode sort( ) sortiert die Werte im Array nicht nur neu, sondern gibt auch eine Kopie des sortierten Arrays zurück. |
||||||||
|
||||||||
Parameter | ||||||||
|
||||||||
Zurückgegebener Wert | ||||||||
Ein Array-Objekt mit nach den angegebenen Kriterien sortierten Einträgen. |
splice( ) | NN 4 IE 5.5(Win) ECMA 2 |
splice(startIndex, deleteCount[, item1[, item2[, ...itemN]]]) | |
Entfernt einen oder mehrere aufeinander folgende Elemente aus einem Array und fügt an ihrer Stelle optional neue Elemente ein. Die Länge des Arrays wird entsprechend angepasst. |
|
Parameter | |
|
|
Zurückgegebener Wert | |
Ein Array-Objekt mit den entfernten Elementen. |
toLocaleString( ) | NN 6 IE 5.5(Win) ECMA 2 |
Gibt einen String mit durch Komma getrennten Werten zurück, deren Format theoretisch auf die Anforderungen der Standardsprache des Browsers zugeschnitten ist. Allerdings bestehen hier je nach Browser und Datentyp feine Unterschiede in der Implementierung. IE ab Version 5.5 wandelt alle numerischen Werte in Strings mit zwei Dezimalstellen um, gibt bei Objektreferenzen jedoch einen Fehler zurück. Netscape 6 behält bei Integerwerten das ursprüngliche Format bei und zeigt Objektreferenzen als [object objectType] an. Laut ECMA-Standard bleiben derartige Interpretationen dem jeweiligen Browserhersteller überlassen. |
|
Parameter | |
Keine. |
|
Zurückgegebener Wert | |
String mit Komma als Trennzeichen. |
toString( ) | NN 3 IE 4 ECMA 1 |
Gibt denselben String mit durch Kommas getrennten Werten zurück wie die Methode Array.join( ) mit einem Komma als Parameter. Alle Werte, einschließlich der Objekte, werden in einen äquivalenten String umgewandelt ([object] in IE/Windows, [object objectType] in IE 5/Macintosh und Netscape 6). |
|
Parameter | |
Keine. |
|
Zurückgegebener Wert | |
String mit Komma als Trennzeichen. |
unshift( ) | NN 4 IE 5.5(Win) ECMA 2 |
unshift(item1[, item2[, ...itemN]]) | |
Fügt ein oder mehrere Elemente am Anfang eines Arrays ein. Die Länge des Arrays wird um die Anzahl der hinzugefügten Elemente erhöht und die Methode gibt die neue Länge des Arrays zurück. |
|
Parameter | |
|
|
Zurückgegebener Wert | |
Integer. |