Start · Sprachen · JavaScript · Referenz · Array.prototype.pop()

Array.prototype.pop()

Methode

Die Methode <code>pop()</code> von <code>Array</code>-Instanzen entfernt das letzte Element eines Arrays und gibt es zurück.

Kategorie: method-property

Signatur

pop()

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

Typ
any
Beschreibung
Das entfernte Element aus dem Array; 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