Array.Prototypen

Diese Übersetzung ist unvollständig. Bitte helfen Sie, diesen Artikel aus dem Englischen zu übersetzen.

Die Array.prototype (Anordnung.Muster) Eigenschaft repräsentiert eine Schablone (Prototypen) des Array Konstrukteurs und erlaubt dir neue Eigenschaften und Methoden zu allen Array Objekten hinzuzufügen.

// Wenn JavaScript eine first() Methode vom Grundsatz nicht unterstützt
// füge eine neue Methode als Rückgabewert des ersten Elements als Array zurück

if (!Array.prototype.first) {
  Array.prototype.first = function() {
    return this[0];
  }
}

Beschreibung

Array Instanzen erben vom Array.prototype. Wie mit allen Konstrukteuren kannst du das Konstrukteur Protoypen Objekt ändern, um alle Array Instanzen zu verändern. Ein Beispiel: du kannst neue Methoden und Eigenschaften zu allen Array-Objekten hinzufügen und diese damit erweitern. Dies wird zum Beispiel für polyfilling genutzt.

Ganz nebenbei: ein Array-Protoyp selbst ist ein Array:

Array.isArray(Array.prototype); // true

Property attributes of Array.Prototypen
Writable no
Enumerable no
Configurable no

Eigenschaften

Array.prototype.constructor
Beschreibt die Funktion um ein Objekt-Prototypen zu erstellen.
Array.prototype.length
Gibt die Nummer an Elementen in einem Array wieder.
Array.prototype[@@unscopables]
Eine Symbol-beinhaltende Eigenschaft beschreibt das ausschließen von einem mit with eingebundenden Geltungsbereich.

Methoden

Mutations-Methoden

Diese Methoden verändern ein Array:

Array.prototype.copyWithin()
Kopiert einen Teil eines Array Elements innerhalb eines Array.
Array.prototype.fill()
Füllt alle Elemente eines Arrays von einem Start-Index zu einem Ende-Index mit einem festen Wert.
Array.prototype.pop()
Entfernt das letzte Element von einem Array und gibt dieses Element als Rückgabewert aus.
Array.prototype.push()
Fügt eins oder mehrere Elemente zu dem Ende des Arrays hinzu und gibt die neue Länge des Arrays zurück
Array.prototype.reverse()
Dreht die Reihenfolge der Elemente in einem Array um - das erste Element wird das letzte und das letzte Element wird das erste.
Array.prototype.shift()
Entfernt das erste Element innerhalb eines Array und gibt das Element als Rückgabewert aus.
Array.prototype.sort()
Sortiert innerhalb eines Arrays die Elemente und gibt das sortierte Array aus.
Array.prototype.splice()
Fügt Elemente von einem Array hinzu und/oder entfernt diese.
Array.prototype.unshift()
Fügt ein oder mehr Elemente an erster Stelle eines Array hinzug und gibt die Länge des neuen Arrays zurück.

Zugriff Methoden

Diese Methoden verändern das Array nicht und geben als Rückgabewert eine Darstellung des Arrays an.

Array.prototype.concat()
Gibt ein neues Array zusammengestellt von diesem Array und verknüpft mit anderen/ mehreren Array(s) und/ oder einem/ mehreren Wert(en).
Array.prototype.includes()
Überprüft ob ein Array ein bestimmtes Element enthält und gibt als Rückgae true oder false an.
Array.prototype.indexOf()
Gibt die erste Stelle (Index) eines einzelnen, dem beschriebenen, Elements innerhalb eines Array an. Wenn das Element nicht gefunden wurde gibt er -1 zurück.
Array.prototype.join()
Verbindet alle Elemente eine sArray zu einem String.
Array.prototype.lastIndexOf()
Gibt den letzten (höchsten) Index des beschriebenen Elements innerhalb eines Arrays aus, oder -1, wenn nichts gefunden wurde.
Array.prototype.slice()
Extrahiert einen Teil eines Arrays und gibt diesen als neues Array aus.
Array.prototype.toSource()
Gibt ein Array-Literal des beschriebenen Arrays zurück; du kannst diesen Wert nutzen um ein neues Array zu erstellen. Überschreibt die Object.prototype.toSource() Methode.
Array.prototype.toString()
Gibt einen String zurück, welcher das Array und seine Elemente beinhaltet. Überschreibt die Object.prototype.toString() Methode.
Array.prototype.toLocaleString()
Gibt einen lokalen String zurück, welcher das Array und seine Elemente beschreibt. Überschreibt die Object.prototype.toLocaleString() Methode.

Zähl-Methoden

Einige Methoden nehmen als Argument eine Funktion an und führen diese während des Aufrufs des Arrays aus. Wenn diese Methoden aufgerufen werden, wird die Länge (length) des Arrays abgetastet und jedes Element außerhalb der dieser Länge innerhalb eines nicht aufgerufenen Callbacks hinzugefügt. Andere Änderungen zu einem Array (setzen eines Wertes oder das Löschen eines Elements) könnten Auswirkungen auf das Ergebnis der Operation haben, wenn die Methode das veränderte Element im nachhinein besucht. Während das spezielle Verhalten dieser Methoden in einem solchen Fall gut definiert sind, solltest du dich dennoch nicht darauf verlassen, damit du andere, die deinen möglicherweise lesen - nicht verwirrt werden. Wenn du das Array verändern musst, solltest du das veränderte Array in ein neu erstelltes Array packen.

Array.prototype.entries()
Gibt ein neues Array Zähl Objekt (Array Iterator Object) zurück, welches das key/value Paar für jeden Index in dem Array innehält.
Array.prototype.every()
Gibt true zurück, wenn alle Elemente in diesem Array die zu testende Funktion bestene.
Array.prototype.filter()
Erstellt ein neues Array mit allen Elementen dieses Arrays für welches die Filter-Funktion innerhalb den Rückgabewert true benutzt.
Array.prototype.find()
Gibt den ersten gefundenen Wert innerhalb eines Arrys wieder, wenn ein Element innerhalb des Arrays die definierte Test-Funktion besteht oder undefined wenn nichts gefunden wurde.
Array.prototype.findIndex()
Gibt den gefundenen Inedx im Array an, wenn ein Element in dem Array die angegebene Test-Fnktion besteht - oder -1, wenn nichts gefunden wurde.
Array.prototype.forEach()
Ruft eine Funktion für jedes Element in einem Array auf.
Array.prototype.keys()
Gibt einen neuen Array Iterator (Zeiger) aus, welcher die Schlüssel für jeden Index innerhalb des Arrays beinhaltet.
Array.prototype.map()
Erstellt ein neues Array mit den Ergebnissen der ausgeführten definierten Fuktion an jedem Element in diesem Array.
Array.prototype.reduce()
Reduziert das Array auf einen einzigen Wert, indem es jeweils zwei Elemente durch die angegebene Funktion ausführt. Optional: als zweiten Paramater einen Startwert angeben.
Array.prototype.reduceRight()
Reduziert das Array auf einen einzigen Wert, indem es jeweils zwei Elemente durch die angegebene Funktion ausführt (von rechts-nach-links). Optional: als zweiten Paramater einen Startwert angeben.
Array.prototype.some()
Gibt true zurück, wenn mindestens ein Element in diesem Array den Test der definierten Funktion besteht.
Array.prototype.values()
Gibt einen neues Array Iterator Objekt zurück, welches die Werte für jeden Index in dem Array beinhaltet.
Array.prototype[@@iterator]()
Gibt einen neues Array Iterator Objekt zurück, welches die Werte für jeden Index in dem Array beinhaltet.

Generische Methoden (kein Standard)

Vielen Methoden von den JavaScript Array Objekten sind für die allgemeine Anwendung an allem Objekten entwickelt wurden, welche "aussehen wie" Arrays. Der Grund ist, dass sie an allen Objekten angewandt werden könne, welche eine Längen-Eigenschaft besitzen, und welche nützlicherweise eine nummerische Eigenschaft benennen (wie mit der array[5] Indizierung). Einige Methoden, solche wie join, lesen nur die Länge (length) und nummerische Eigenschaften von dem Objekt an welches sie angwandt werden. Andere, wie reverse, erfordern eine Veränderung der nummerischen Objekt- und Längen-Eigenschaften; diese Methoden können deshalb nicht von Objekten wie String aufgerufen werden, welche das künstliche setzen ihrer Längen- (length) oder Nummerischen-Eigenschaft nicht erlauben.

Spezifikationen

Spezifikation Status Kommentar
ECMAScript 1st Edition (ECMA-262) Standard Initiale Definition.
ECMAScript 5.1 (ECMA-262)
Die Definition von 'Array.prototype' in dieser Spezifikation.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'Array.prototype' in dieser Spezifikation.
Standard Hinzugefügt der copyWithin(), fill(), entries(), keys(), values(), find(), findIndex() Methoden.
ECMAScript 2017 Draft (ECMA-262)
Die Definition von 'Array.prototype' in dieser Spezifikation.
Entwurf Hinzugefügt der includes() Methode.

Browserkompatibilität

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basis Unterstützung (Ja) (Ja) (Ja) (Ja) (Ja)
Feature Android Chrome für Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basis Unterstützung (Ja) (Ja) (Ja) (Ja) (Ja) (Ja)

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: StevenS77
 Zuletzt aktualisiert von: StevenS77,