Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Array : méthode pop()
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La méthodepop() des instances deArray supprime ledernier élément d'un tableau et retourne cet élément. Cette méthode modifie la longueur du tableau.
Dans cet article
Exemple interactif
const plants = ["brocoli", "chou-fleur", "chou", "chou frisé", "tomate"];console.log(plants.pop());// Résultat attendu : "tomate"console.log(plants);// Résultat attendu : Array ["brocoli", "chou-fleur", "chou", "chou frisé"]plants.pop();console.log(plants);// Résultat attendu : Array ["brocoli", "chou-fleur", "chou"]Syntaxe
pop()Paramètres
Aucun.
Valeur de retour
L'élément retiré du tableau ;undefined si le tableau est vide.
Description
La méthodepop() supprime le dernier élément d'un tableau et retourne cette valeur. Si vous appelezpop() sur un tableau vide, elle retourneundefined.
La méthodeArray.prototype.shift() possède un comportement analogue àpop(), mais appliqué au premier élément d'un tableau.
La méthodepop() est une méthode mutatrice. Elle modifie la longueur et le contenu dethis. Si vous souhaitez que la valeur dethis reste identique mais retourner un nouveau tableau sans le dernier élément, vous pouvez utiliserarr.slice(0, -1).
La méthodepop() estgénérique. Elle attend uniquement que la valeur dethis possède une propriétélength et des propriétés indexées par des entiers. Bien que les chaînes de caractères ressemblent aussi à des tableaux, cette méthode ne peut pas leur être appliquée car elles sont immuables.
Exemples
>Supprimer le dernier élément d'un tableau
Le code suivant crée le tableaumesPoissons qui contient quatre éléments puis supprime le dernier élément.
const mesPoissons = ["ange", "clown", "mandarin", "esturgeon"];const retire = mesPoissons.pop();console.log(mesPoissons); // ['ange', 'clown', 'mandarin']console.log(retire); // 'esturgeon'Appelerpop() sur un objet qui n'est pas un tableau
La méthodepop() lit la propriétélength dethis. Si lalongueur normalisée est 0,length est à nouveau définie à0 (elle peut être négative ouundefined auparavant). Sinon, la propriété àlength - 1 est retournée etsupprimée.
const objetSimilaireTableau = { length: 3, unrelated: "foo", 2: 4,};console.log(Array.prototype.pop.call(objetSimilaireTableau));// 4console.log(objetSimilaireTableau);// { length: 2, unrelated: 'foo' }const plainObj = {};// Il n'y a pas de propriété length, donc la longueur est 0Array.prototype.pop.call(plainObj);console.log(plainObj);// { length: 0 }Utiliser un objet comme un tableau
push etpop sont volontairement génériques, et nous pouvons en tirer parti — comme le montre l'exemple suivant.
Notez que dans cet exemple, nous ne créons pas de tableau pour stocker une collection d'objets. À la place, nous stockons la collection sur l'objet lui-même et utilisonscall surArray.prototype.push etArray.prototype.pop pour faire croire à ces méthodes que nous manipulons un tableau.
const collection = { length: 0, ajouterElement(...elements) { // obj.length sera incrémenté automatiquement // à chaque ajout d'un élément. // Retourne ce que push retourne, c'est-à-dire // la nouvelle valeur de la propriété length. return [].push.call(this, ...elements); }, supprimerElement() { // obj.length sera décrémenté automatiquement // à chaque suppression d'un élément. // Retourne ce que pop retourne, c'est-à-dire // l'élément supprimé. return [].pop.call(this); },};collection.ajouterElement(10, 20, 30);console.log(collection.length); // 3collection.supprimerElement();console.log(collection.length); // 2Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.prototype.pop> |
Compatibilité des navigateurs
Voir aussi
- Guide des collections indexées
- L'objet global
Array - La méthode
Array.prototype.push() - La méthode
Array.prototype.shift() - La méthode
Array.prototype.unshift() - La méthode
Array.prototype.concat() - La méthode
Array.prototype.splice()