We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

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

Eigenschaftsattribute von Array.Prototypen
Schreibbar nein
Aufzählbar nein
Konfigurierbar nein

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

Mutationsmethoden

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 hinzu und gibt die Länge des neuen Arrays zurück.

Zugriffsmethoden

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ückgabewert 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 eines Arrays 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ählmethoden

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 bestehen.
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 Arrays wieder, wenn ein Element innerhalb des Arrays die definierte Test-Funktion besteht oder undefined wenn nichts gefunden wurde.
Array.prototype.findIndex()
Gibt den gefundenen Index im Array an, wenn ein Element in dem Array die angegebene Test-Funktion 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 Funktion 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 numerische Eigenschaft benennen (wie mit der array[5] Indizierung). Einige Methoden, solche wie join, lesen nur die Länge (length) und numerische Eigenschaften von dem Objekt an welches sie angewandt werden. Andere, wie reverse, erfordern eine Veränderung der numerischen 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 numerischen 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 2016 (ECMA-262)
Die Definition von 'Array.prototype' in dieser Spezifikation.
Standard Hinzugefügt der includes() Methode.

Browserkompatibilität

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Grundlegende Unterstützung Ja Ja1 Ja Ja Ja
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Grundlegende Unterstützung Ja Ja Ja4 Ja Ja Ja

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
Mitwirkende an dieser Seite: Stoeoeoe, schlagi123, StevenS77
Zuletzt aktualisiert von: Stoeoeoe,