Baseline Widely available
Die shift()
-Methode von Array
Instanzen entfernt das erste Element aus einem Array und gibt dieses entfernte Element zurück. Diese Methode ändert die Länge des Arrays.
const array1 = [1, 2, 3];
const firstElement = array1.shift();
console.log(array1);
// Expected output: Array [2, 3]
console.log(firstElement);
// Expected output: 1
Syntax Parameter
Keine.
RückgabewertDas entfernte Element aus dem Array; undefined
wenn das Array leer ist.
Die shift()
-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 die length
-Eigenschaft 0 ist, wird undefined
zurückgegeben.
Die pop()
-Methode hat ein ähnliches Verhalten wie shift()
, wird aber auf das letzte Element eines Arrays angewendet.
Die shift()
-Methode ist eine verändernde Methode. Sie ändert die Länge und den Inhalt von this
. Falls Sie möchten, dass der Wert von this
gleich bleibt, aber ein neues Array mit dem entfernten ersten Element zurückgegeben wird, können Sie stattdessen arr.slice(1)
verwenden.
Die shift()
-Methode ist generisch. Sie erwartet lediglich, dass der this
-Wert eine length
-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.
Der folgende Code zeigt das myFish
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
Die shift()
-Methode liest die length
-Eigenschaft von this
. Wenn die normalisierte Länge 0 ist, wird length
wieder auf 0
gesetzt (obwohl es vorher negativ oder undefined
sein kann). Andernfalls wird die Eigenschaft bei 0
zurückgegeben, und die restlichen Eigenschaften werden um eins nach links verschoben. Die Eigenschaft bei length - 1
wird gelöscht, und die length
-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 slot
console.log(arrayLike);
// { '1': 4, length: 2, unrelated: 'foo' }
const plainObj = {};
// There's no length property, so the length is 0
Array.prototype.shift.call(plainObj);
console.log(plainObj);
// { length: 0 }
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