Array.prototype.shift()
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Dieshift()
-Methode vonArray
Instanzen entfernt daserste Element aus einem Array und gibt dieses entfernte Element zurück. Diese Methode ändert die Länge des Arrays.
Probieren Sie es aus
const array1 = [1, 2, 3];const firstElement = array1.shift();console.log(array1);// Expected output: Array [2, 3]console.log(firstElement);// Expected output: 1
Syntax
shift()
Parameter
Keine.
Rückgabewert
Das entfernte Element aus dem Array;undefined
wenn das Array leer ist.
Beschreibung
Dieshift()
-Methode verschiebt alle Werte um 1 nach links und verringert die Länge um 1, was dazu führt, dass das erste Element entfernt wird. Wenn dielength
-Eigenschaft 0 ist, wirdundefined
zurückgegeben.
Diepop()
-Methode hat ein ähnliches Verhalten wieshift()
, wird aber auf das letzte Element eines Arrays angewendet.
Dieshift()
-Methode ist eineverändernde Methode. Sie ändert die Länge und den Inhalt vonthis
. Falls Sie möchten, dass der Wert vonthis
gleich bleibt, aber ein neues Array mit dem entfernten ersten Element zurückgegeben wird, können Sie stattdessenarr.slice(1)
verwenden.
Dieshift()
-Methode istgenerisch. Sie erwartet lediglich, dass derthis
-Wert einelength
-Eigenschaft und integer-indexierte Eigenschaften besitzt. Obwohl Strings ebenfalls Array-ähnlich sind, eignet sich diese Methode nicht zur Anwendung auf ihnen, da Strings unveränderlich sind.
Beispiele
Entfernen eines Elements aus einem Array
Der folgende Code zeigt dasmyFish
Array vor und nach dem Entfernen seines ersten Elements. Es zeigt auch das entfernte Element an:
const myFish = ["angel", "clown", "mandarin", "surgeon"];console.log("myFish before:", myFish);// myFish before: ['angel', 'clown', 'mandarin', 'surgeon']const shifted = myFish.shift();console.log("myFish after:", myFish);// myFish after: ['clown', 'mandarin', 'surgeon']console.log("Removed this element:", shifted);// Removed this element: angel
Verwendung der shift()-Methode in einer while-Schleife
Die shift()-Methode wird häufig in Bedingungen innerhalb von while-Schleifen verwendet. Im folgenden Beispiel wird bei jeder Iteration das nächste Element aus einem Array entfernt, bis es leer ist:
const names = ["Andrew", "Tyrone", "Paul", "Maria", "Gayatri"];while (typeof (i = names.shift()) !== "undefined") { console.log(i);}// Andrew, Tyrone, Paul, Maria, Gayatri
Aufrufen von shift() auf Nicht-Array-Objekten
Dieshift()
-Methode liest dielength
-Eigenschaft vonthis
. Wenn dienormalisierte Länge 0 ist, wirdlength
wieder auf0
gesetzt (obwohl es vorher negativ oderundefined
sein kann). Andernfalls wird die Eigenschaft bei0
zurückgegeben, und die restlichen Eigenschaften werden um eins nach links verschoben. Die Eigenschaft beilength - 1
wirdgelöscht, und dielength
-Eigenschaft wird um eins verringert.
const arrayLike = { length: 3, unrelated: "foo", 2: 4,};console.log(Array.prototype.shift.call(arrayLike));// undefined, because it is an empty slotconsole.log(arrayLike);// { '1': 4, length: 2, unrelated: 'foo' }const plainObj = {};// There's no length property, so the length is 0Array.prototype.shift.call(plainObj);console.log(plainObj);// { length: 0 }
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-array.prototype.shift |
Browser-Kompatibilität
Siehe auch
MDN-Feedback-Box
Diese Seite wurde automatisch aus dem Englischen übersetzt.