Signatur
Beschreibung
Die Methode pop() von Array-Instanzen entfernt das letzte Element eines Arrays und gibt dieses Element zurück. Diese Methode verändert die Länge des Arrays.
Die Methode pop() entfernt das letzte Element eines Arrays und gibt diesen Wert an den Aufrufer zurück. Wenn pop() auf einem leeren Array aufgerufen wird, gibt sie undefined zurück.
Array.prototype.shift() hat ein ähnliches Verhalten wie pop(), wird jedoch auf das erste Element eines Arrays angewendet.
Die Methode pop() ist eine mutierende Methode. Sie verändert die Länge und den Inhalt von this. Falls du möchtest, dass der Wert von this gleich bleibt und stattdessen ein neues Array ohne das letzte Element zurückgegeben wird, kannst du arr.slice(0, -1) verwenden.
Die Methode pop() ist generisch. Sie erwartet nur, dass der this-Wert eine length-Eigenschaft und ganzzahlig indizierte Eigenschaften besitzt. Obwohl Strings ebenfalls Array-ähnlich sind, ist diese Methode nicht dafür geeignet, auf sie angewendet zu werden, da Strings unveränderlich sind.
Rückgabewert
undefined, wenn das Array leer ist.Beispiele
Das letzte Element eines Arrays entfernen
const myFish = ["angel", "clown", "mandarin", "sturgeon"];
const popped = myFish.pop();
console.log(myFish); // ['angel', 'clown', 'mandarin' ]
console.log(popped); // 'sturgeon'
pop() auf Nicht-Array-Objekten aufrufen
const arrayLike = {
length: 3,
unrelated: "foo",
2: 4,
};
console.log(Array.prototype.pop.call(arrayLike));
// 4
console.log(arrayLike);
// { length: 2, unrelated: 'foo' }
const plainObj = {};
// Es gibt keine length-Eigenschaft, daher ist die Länge 0
Array.prototype.pop.call(plainObj);
console.log(plainObj);
// { length: 0 }
Ein Objekt Array-ähnlich verwenden
const collection = {
length: 0,
addElements(...elements) {
// obj.length wird automatisch inkrementiert,
// jedes Mal wenn ein Element hinzugefügt wird.
// Rückgabe dessen, was push zurückgibt; also
// der neue Wert der length-Eigenschaft.
return [].push.call(this, ...elements);
},
removeElement() {
// obj.length wird automatisch dekrementiert,
// jedes Mal wenn ein Element entfernt wird.
// Rückgabe dessen, was pop zurückgibt; also
// das entfernte Element.
return [].pop.call(this);
},
};
collection.addElements(10, 20, 30);
console.log(collection.length); // 3
collection.removeElement();
console.log(collection.length); // 2