Baseline Widely available
Die unshift()
Methode von Array
Instanzen fügt die angegebenen Elemente am Anfang eines Arrays hinzu und gibt die neue Länge des Arrays zurück.
const array1 = [1, 2, 3];
console.log(array1.unshift(4, 5));
// Expected output: 5
console.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.
Die neue length
Eigenschaft des Objekts, auf dem die Methode aufgerufen wurde.
Die unshift()
Methode fügt die angegebenen Werte am Anfang eines array-ähnlichen Objekts ein.
Array.prototype.push()
hat ein ähnliches Verhalten wie unshift()
, 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 von unshift()
mit n
Argumenten oder n
Aufrufe mit jeweils 1 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 array
arr.unshift(1);
arr.unshift(2);
arr.unshift(3);
console.log(arr);
// [3, 2, 1, 4, 5, 6]
Die unshift()
Methode ist generisch. Sie erwartet nur, dass der this
-Wert eine length
-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.
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
Die unshift()
Methode liest die length
-Eigenschaft von this
. Sie verschiebt alle Indizes im Bereich von 0
bis length - 1
nach rechts um die Anzahl der Argumente (indem sie ihre Werte um diese Zahl erhöht). Dann setzt sie jeden Index beginnend bei 0
mit den an unshift()
übergebenen Argumenten fest. SchlieÃlich setzt sie die length
-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 0
Array.prototype.unshift.call(plainObj, 1, 2);
console.log(plainObj);
// { '0': 1, '1': 2, length: 2 }
Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4