Signatur
Beschreibung
Die push()-Methode von Array-Instanzen fügt die angegebenen Elemente am Ende eines Arrays hinzu und gibt die neue Länge des Arrays zurück.
Die push()-Methode hängt Werte an ein Array an.
Array.prototype.unshift() hat ein ähnliches Verhalten wie push(), wird jedoch am Anfang eines Arrays angewendet.
Die push()-Methode ist eine mutierende Methode. Sie ändert die Länge und den Inhalt von this. Falls Sie möchten, dass der Wert von this gleich bleibt, aber ein neues Array mit am Ende angehängten Elementen zurückgegeben wird, können Sie stattdessen arr.concat([element0, element1, /* ... ,*/ elementN]) verwenden. Beachten Sie, dass die Elemente in ein zusätzliches Array eingepackt werden — andernfalls würde ein Element, das selbst ein Array ist, aufgrund des Verhaltens von concat() gespreizt und nicht als einzelnes Element hinzugefügt.
Die push()-Methode ist generisch. Sie erwartet lediglich, dass der this-Wert eine length-Eigenschaft und ganzzahlig indizierte Eigenschaften besitzt. Obwohl Strings ebenfalls array-ähnlich sind, ist diese Methode nicht für sie geeignet, da Strings unveränderlich sind.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $element1, …, elementN | any | — | Das/die Element(e), das/die am Ende des Arrays hinzugefügt werden soll(en). |
Rückgabewert
length-Eigenschaft des Objekts, auf dem die Methode aufgerufen wurde.Beispiele
Elemente zu einem Array hinzufügen
const sports = ["soccer", "baseball"];
const total = sports.push("football", "swimming");
console.log(sports); // ['soccer', 'baseball', 'football', 'swimming']
console.log(total); // 4
Zwei Arrays zusammenführen
const vegetables = ["parsnip", "potato"];
const moreVegs = ["celery", "beetroot"];
// Das zweite Array in das erste einfügen
vegetables.push(...moreVegs);
console.log(vegetables); // ['parsnip', 'potato', 'celery', 'beetroot']
push() auf Nicht-Array-Objekten aufrufen
const arrayLike = {
length: 3,
unrelated: "foo",
2: 4,
};
Array.prototype.push.call(arrayLike, 1, 2);
console.log(arrayLike);
// { '2': 4, '3': 1, '4': 2, length: 5, unrelated: 'foo' }
const plainObj = {};
// Es gibt keine length-Eigenschaft, also ist die Länge 0
Array.prototype.push.call(plainObj, 1, 2);
console.log(plainObj);
// { '0': 1, '1': 2, length: 2 }
Ein Objekt array-ähnlich verwenden
const obj = {
length: 0,
addElem(elem) {
// obj.length wird automatisch inkrementiert,
// jedes Mal wenn ein Element hinzugefügt wird.
[].push.call(this, elem);
},
};
// Fügen wir ein paar leere Objekte zur Illustration hinzu.
obj.addElem({});
obj.addElem({});
console.log(obj.length); // 2