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

Array.prototype.unshift()

Methode

Die <code>unshift()</code>-Methode fügt Elemente am Anfang eines Arrays ein und gibt die neue Länge des Arrays zurück.

Kategorie: method-property

Signatur

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

Beschreibung

Die unshift()-Methode von Array-Instanzen fügt die angegebenen Elemente am Anfang eines Arrays ein und gibt die neue Länge des Arrays zurück.

Die unshift()-Methode fügt die angegebenen Werte am Anfang eines array-ähnlichen Objekts ein.

Array.prototype.push() zeigt ein ähnliches Verhalten wie unshift(), wird jedoch auf das Ende eines Arrays angewendet.

Bitte beachten Sie, dass mehrere als Parameter übergebene Elemente als Block am Anfang des Objekts eingefügt werden, und zwar in genau der Reihenfolge, in der sie als Parameter übergeben wurden. Daher liefern der einmalige Aufruf von unshift() mit n Argumenten und das n-malige Aufrufen mit 1 Argument (etwa in einer Schleife) nicht dieselben Ergebnisse.

Siehe Beispiel:

Die unshift()-Methode ist generisch. Sie erwartet vom this-Wert lediglich eine length-Eigenschaft und ganzzahlig indizierte Eigenschaften. Obwohl Strings ebenfalls array-ähnlich sind, ist diese Methode nicht dafür geeignet, auf sie angewendet zu werden, da Strings unveränderlich sind.

Parameter

Name Typ Default Beschreibung
$element1, …, elementN any Die Elemente, die am Anfang von arr hinzugefügt werden sollen.

Rückgabewert

Typ
number
Beschreibung
Der neue Wert der length-Eigenschaft des Objekts, auf dem die Methode aufgerufen wurde.

Beispiele

unshift() verwenden

const arr = [1, 2];

arr.unshift(0); // result of the call is 3, which is the new array length
// arr is [0, 1, 2]

arr.unshift(-2, -1); // the new array length is 5
// arr is [-2, -1, 0, 1, 2]

arr.unshift([-4, -3]); // the new array length is 6
// arr is [[-4, -3], -2, -1, 0, 1, 2]

arr.unshift([-7, -6], [-5]); // the new array length is 8
// arr is [ [-7, -6], [-5], [-4, -3], -2, -1, 0, 1, 2 ]

Reihenfolge mehrerer Argumente vs. mehrfacher Aufrufe

let arr = [4, 5, 6];

arr.unshift(1, 2, 3);
console.log(arr);
// [1, 2, 3, 4, 5, 6]

arr = [4, 5, 6]; // resetting the array

arr.unshift(1);
arr.unshift(2);
arr.unshift(3);

console.log(arr);
// [3, 2, 1, 4, 5, 6]

unshift() auf Nicht-Array-Objekten aufrufen

const arrayLike = {
  length: 3,
  unrelated: "foo",
  2: 4,
};
Array.prototype.unshift.call(arrayLike, 1, 2);
console.log(arrayLike);
// { '0': 1, '1': 2, '4': 4, length: 5, unrelated: 'foo' }

const plainObj = {};
// There's no length property, so the length is 0
Array.prototype.unshift.call(plainObj, 1, 2);
console.log(plainObj);
// { '0': 1, '1': 2, length: 2 }