Array.prototype.pop()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Die pop()-Methode von Array-Instanzen entfernt das letzte Element aus einem Array und gibt dieses Element zurück. Diese Methode ändert die Länge des Arrays.

Probieren Sie es aus

const plants = ["broccoli", "cauliflower", "cabbage", "kale", "tomato"];

console.log(plants.pop());
// Expected output: "tomato"

console.log(plants);
// Expected output: Array ["broccoli", "cauliflower", "cabbage", "kale"]

plants.pop();

console.log(plants);
// Expected output: Array ["broccoli", "cauliflower", "cabbage"]

Syntax

js
pop()

Parameter

Keine.

Rückgabewert

Das entfernte Element aus dem Array; undefined, wenn das Array leer ist.

Beschreibung

Die pop()-Methode entfernt das letzte Element aus einem Array und gibt diesen Wert an den Aufrufer zurück. Wenn Sie pop() auf ein leeres Array anwenden, wird undefined zurückgegeben.

Array.prototype.shift() hat ein ähnliches Verhalten wie pop(), jedoch wird es auf das erste Element eines Arrays angewendet.

Die pop()-Methode ist eine verändernde Methode. Sie verändert die Länge und den Inhalt von this. Falls Sie möchten, dass der Wert von this gleich bleibt, aber ein neues Array ohne das letzte Element zurückgegeben wird, können Sie stattdessen arr.slice(0, -1) verwenden.

Die pop()-Methode ist generisch. Sie erwartet nur, dass der this-Wert eine Eigenschaft namens length und ganzzahlig indizierte Eigenschaften hat. Obwohl auch Strings array-ähnlich sind, ist diese Methode nicht geeignet, auf sie angewendet zu werden, da Strings unveränderlich sind.

Beispiele

Entfernen des letzten Elements eines Arrays

Der folgende Code erstellt das myFish-Array mit vier Elementen und entfernt anschließend dessen letztes Element.

js
const myFish = ["angel", "clown", "mandarin", "sturgeon"];

const popped = myFish.pop();

console.log(myFish); // ['angel', 'clown', 'mandarin' ]

console.log(popped); // 'sturgeon'

Aufrufen von pop() auf Nicht-Array-Objekten

Die pop()-Methode liest die length-Eigenschaft von this. Wenn die normalisierte Länge 0 ist, wird length wieder auf 0 gesetzt (auch wenn sie zuvor negativ oder undefined sein könnte). Andernfalls wird die Eigenschaft bei length - 1 zurückgegeben und gelöscht.

js
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 = {};
// There's no length property, so the length is 0
Array.prototype.pop.call(plainObj);
console.log(plainObj);
// { length: 0 }

Verwendung eines Objekts in einem array-ähnlichen Stil

push und pop sind bewusst generisch, und wir können das zu unserem Vorteil nutzen — wie das folgende Beispiel zeigt.

Beachten Sie, dass wir in diesem Beispiel kein Array erstellen, um eine Sammlung von Objekten zu speichern. Stattdessen speichern wir die Sammlung direkt im Objekt selbst und verwenden call auf Array.prototype.push und Array.prototype.pop, um diese Methoden zu täuschen, indem sie denken, dass wir mit einem Array arbeiten.

js
const collection = {
  length: 0,
  addElements(...elements) {
    // obj.length will be incremented automatically
    // every time an element is added.

    // Returning what push returns; that is
    // the new value of length property.
    return [].push.call(this, ...elements);
  },
  removeElement() {
    // obj.length will be decremented automatically
    // every time an element is removed.

    // Returning what pop returns; that is
    // the removed element.
    return [].pop.call(this);
  },
};

collection.addElements(10, 20, 30);
console.log(collection.length); // 3
collection.removeElement();
console.log(collection.length); // 2

Spezifikationen

Specification
ECMAScript® 2025 Language Specification
# sec-array.prototype.pop

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
pop

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch