--- title: Array.prototype.shift() slug: Web/JavaScript/Reference/Global_Objects/Array/shift tags: - Array - JavaScript - Méthode - Prototype - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Array/shift original_slug: Web/JavaScript/Reference/Objets_globaux/Array/shift ---
La méthode shift()
permet de retirer le premier élément d'un tableau et de renvoyer cet élément. Cette méthode modifie la longueur du tableau.
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
arr.shift()
L'élément retiré du tableau ou {{jsxref("undefined")}} si le tableau est vide.
La méthode shift
retire l'élément situé à l'index zéro et décrémente l'index des éléments suivant avant de retourner l'élément supprimé. Si la propriété {{jsxref("Array.length", "length")}} vaut 0, {{jsxref("undefined")}} est retourné.
Cette méthode est générique et peut être {{jsxref("Function.call", "appelée","",1)}} ou {{jsxref("Function.apply", "appliquée","",1)}} sur des objets similaires à des tableaux.
Cette méthode n'est pas exploitable pour les objets dont la propriété length
ne reflète pas la taille du contenu, ou pour lesquels la propriété length
n'est pas définie.
Note : La méthode {{jsxref("Array.prototype.pop()")}} possède un comportement similaire mais retire le dernier élément du tableau (et non le premier).
Le code suivant affiche le tableau mesPoissons
avant et après avoir enlevé le premier élément. Il affiche aussi l'élément supprimé :
var mesPoissons = ["ange", "clown", "mandarin", "chirurgien"]; console.log("mesPoissons avant : " + JSON.stringify(mesPoissons)); // mesPoissons avant : ["ange","clown","mandarin","chirurgien"] var premierÉlément = mesPoissons.shift(); console.log("mesPoissons après :", mesPoissons); // mesPoissons après : ["clown", "mandarin", "chirurgien"] console.log("Cet élément a été enlevé :", premierÉlément); // "Cet élément a été enlevé : ange"
shift()
dans une boucle while
La méthode shift()
peut être utilisée dans une boucle while
. Dans l'exemple suivant, chaque itération de la boucle retire un élément du tableau et l'affiche dans la console, jusqu'à ce que ce dernier soit vide.
var noms = ["André", "Édouard", "Paul", "Christophe", "Jean"]; while ( (i = noms.shift()) !== undefined ) { console.log(i); } // André, Édouard, Paul, Christophe, Jean
Spécification | État | Commentaires |
---|---|---|
{{SpecName('ES3')}} | {{Spec2('ES3')}} | Définition initiale. Implémentée avec JavaScript 1.2. |
{{SpecName('ES5.1', '#sec-15.4.4.9', 'Array.prototype.shift')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-array.prototype.shift', 'Array.prototype.shift')}} | {{Spec2('ES6')}} | |
{{SpecName('ESDraft', '#sec-array.prototype.shift', 'Array.prototype.shift')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.Array.shift")}}