Signatur
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
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 }