Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
Array.prototype.shift()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Dieshift() Methode vonArray Instanzen entfernt daserste Element aus einem Array und gibt dieses entfernte Element zurück. Diese Methode verändert die Länge des Arrays.
In diesem Artikel
Probieren Sie es aus
const array = [1, 2, 3];const firstElement = array.shift();console.log(array);// Expected output: Array [2, 3]console.log(firstElement);// Expected output: 1Syntax
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 verhält sich ähnlich wieshift(), wird jedoch auf das letzte Element in einem Array angewendet.
Dieshift() Methode ist einemutierende Methode. Sie verändert die Länge und den Inhalt vonthis. Falls Sie den Wert vonthis gleich belassen, aber ein neues Array mit dem ersten entfernten Element zurückgeben möchten, können Sie stattdessenarr.slice(1) verwenden.
Dieshift() Methode istgenerisch. Sie erwartet nur, dass derthis-Wert einelength-Eigenschaft und integer-indizierte Eigenschaften hat. Obwohl Strings ebenfalls array-ähnlich sind, ist diese Methode ungeeignet für Strings, 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: angelVerwendung der shift() Methode in einer While-Schleife
Die shift() Methode wird oft in einer Bedingung innerhalb einer While-Schleife 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, GayatriAufruf von shift() auf Nicht-Array-Objekten
Dieshift() Methode liest dielength-Eigenschaft vonthis. Wenn dienormalisierte Länge 0 ist, wirdlength wieder auf0 gesetzt (während es vorher negativ oderundefined sein könnte). 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> |