[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/pop [Back]  [Original]

Array.prototype.pop() - JavaScript | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

Array.prototype.pop()

Baseline Weitgehend verfgbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.

Die pop()-Methode von Array-Instanzen entfernt das letzte Element aus einem Array und gibt dieses Element zurck. Diese Methode ndert die Lnge des Arrays.

In diesem Artikel

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.

Rckgabewert

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 zurck. Wenn Sie pop() auf ein leeres Array aufrufen, gibt es undefined zurck.

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

Die pop()-Methode ist eine verndernde Methode. Sie ndert die Lnge und den Inhalt von this. Falls Sie mchten, dass der Wert von this gleich bleibt, aber ein neues Array mit dem letzten entfernten Element zurckgeben wollen, knnen Sie stattdessen arr.slice(0, -1) verwenden.

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

Beispiele

Entfernen des letzten Elements eines Arrays

Der folgende Code erstellt das myFish-Array mit vier Elementen und entfernt dann das letzte 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. Ist die normalisierte Lnge 0, wird length erneut auf 0 gesetzt (wobei sie vorher negativ oder undefined sein knnte). Andernfalls wird die Eigenschaft bei length - 1 zurckgegeben und gelscht.

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 }

Verwenden eines Objekts in array-hnlicher Weise

push und pop sind absichtlich generisch, und wir knnen uns dies zunutze machen 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 und verwenden call auf Array.prototype.push und Array.prototype.pop, um diese Methoden zu berlisten und vorzutuschen, dass wir es mit einem Array zu tun haben.

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

Spezifikation
ECMAScript 2027 LanguageSpecification
# sec-array.prototype.pop

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page