Array.prototype.unshift()
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Dieunshift()
Methode vonArray
Instanzen fügt die angegebenen Elemente am Anfang eines Arrays hinzu und gibt die neue Länge des Arrays zurück.
Probieren Sie es aus
const array1 = [1, 2, 3];console.log(array1.unshift(4, 5));// Expected output: 5console.log(array1);// Expected output: Array [4, 5, 1, 2, 3]
Syntax
unshift()unshift(element1)unshift(element1, element2)unshift(element1, element2, /* …, */ elementN)
Parameter
element1
, …,elementN
Die Elemente, die am Anfang von
arr
hinzugefügt werden sollen.
Rückgabewert
Die neuelength
Eigenschaft des Objekts, auf dem die Methode aufgerufen wurde.
Beschreibung
Dieunshift()
Methode fügt die angegebenen Werte am Anfang eines array-ähnlichen Objekts ein.
Array.prototype.push()
hat ein ähnliches Verhalten wieunshift()
, wird jedoch am Ende eines Arrays angewendet.
Bitte beachten Sie, dass, wenn mehrere Elemente als Parameter übergeben werden, sie in einem Block am Anfang des Objekts in genau der Reihenfolge eingefügt werden, in der sie als Parameter übergeben wurden. Daher führt ein einmaliger Aufruf vonunshift()
mitn
Argumenten odern
Aufrufe mit jeweils1 Argument (zum Beispiel in einer Schleife) nicht zu denselben Ergebnissen.
Siehe Beispiel:
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 arrayarr.unshift(1);arr.unshift(2);arr.unshift(3);console.log(arr);// [3, 2, 1, 4, 5, 6]
Dieunshift()
Methode istgenerisch. Sie erwartet nur, dass derthis
-Wert einelength
-Eigenschaft und ganzzahlige, indizierte Eigenschaften hat. Obwohl Zeichenketten ebenfalls array-ähnlich sind, ist diese Methode für sie nicht geeignet, da Zeichenketten unveränderlich sind.
Beispiele
Verwendung von unshift()
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 ]
Aufruf von unshift() auf nicht-Array-Objekten
Dieunshift()
Methode liest dielength
-Eigenschaft vonthis
. Sie verschiebt alle Indizes im Bereich von0
bislength - 1
nach rechts um die Anzahl der Argumente (indem sie ihre Werte um diese Zahl erhöht). Dann setzt sie jeden Index beginnend bei0
mit den anunshift()
übergebenen Argumenten fest. Schließlich setzt sie dielength
-Eigenschaft auf die vorherige Länge plus die Anzahl der hinzugefügten Elemente.
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 0Array.prototype.unshift.call(plainObj, 1, 2);console.log(plainObj);// { '0': 1, '1': 2, length: 2 }
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-array.prototype.unshift |
Browser-Kompatibilität
Siehe auch
MDN-Feedback-Box
Diese Seite wurde automatisch aus dem Englischen übersetzt.