Start · Sprachen · JavaScript · Referenz · Array.prototype.push()

Array.prototype.push()

Methode

Die Methode <code>push()</code> fügt die angegebenen Elemente am Ende eines Arrays hinzu und gibt die neue Länge des Arrays zurück.

Kategorie: method-property

Signatur

push(element1, element2, /* …, */ elementN)

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

Typ
number
Beschreibung
Die neue 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