Array.prototype.shift()
Die Methode shift()
entfernt das erste Element eines Arrays und gibt dieses Element zurück. Diese Methode verändert die Länge des Arrays.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Syntax
arr.shift()
Rückgabewert
Das vom Array entfernte Element; undefined
wenn das Array leer ist.
Beschreibung
Die Methode shift
entfernt das Element an der nullten Stelle, verschiebt die übrigen Elemente um einen Index nach unten und gibt den Wert des entfernten Elementes zurück. Ist die length
Eigenschaft gleich 0, wird undefined
zurückgegeben.
shift
ist absichtlich generisch; diese Methode kann auf Array ähnlichen Objekten mit call oder applied genutzt werden. Objekte, die keine length
Eigenschaft enthalten, die die letzte in einer Reihe von aufeinanderfolgenden, nullbasierten numerischen Eigenschaften widerspiegelt, verhalten sich möglicherweise nicht in einer sinnvollen Weise.
Beispiele
Ein Element eines Arrays entfernen
Das folgende Skript zeigt das Array myFish
bevor und nachdem das erste Element dieses Arrays entfernt wurde. Anschließend wird das entfernte Element angezeigt:
var myFish = ['angel', 'clown', 'mandarin', 'surgeon'];
console.log('myFish before: ' + myFish);
// myFish before: ['angel', 'clown', 'mandarin', 'surgeon']
var shifted = myFish.shift();
console.log('myFish after: ' + myFish);
// myFish after: ['clown', 'mandarin', 'surgeon']
console.log('Removed this element: ' + shifted);
// Removed this element: angel
Einsatz von shift()
in einer while
-Schleife
Die shift() Methode wird oft in der Bedingung in einer while
Schleife verwendet. Im folgenden Beispiel wird in jeder Iteration das nächste Element vom Array entfernt, bis das Array leer ist.
var names = ["Andrew", "Edward", "Paul", "Chris" ,"John"];
while( (i = names.shift()) !== undefined ) {
console.log(i);
}
// Andrew, Edward, Paul, Chris, John
Spezifikationen
Spezifikation | Status | Kommentar |
---|---|---|
ECMAScript 3rd Edition (ECMA-262) | Standard | Initiale Definition. Implementiert in JavaScript 1.2. |
ECMAScript 5.1 (ECMA-262) Die Definition von 'Array.prototype.shift' in dieser Spezifikation. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'Array.prototype.shift' in dieser Spezifikation. |
Standard | |
ECMAScript (ECMA-262) Die Definition von 'Array.prototype.shift' in dieser Spezifikation. |
Lebender Standard |
Browserkompatibilität
BCD tables only load in the browser