Array.prototype.shift()
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.
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.
Exemple interactif
Syntaxe
arr.shift();
Valeur de retour
L'élément retiré du tableau ou undefined
si le tableau est vide.
Description
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é length
vaut 0, undefined
est retourné.
Cette méthode est générique et peut être appelée ou appliquée 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 Array.prototype.pop()
possède un comportement similaire mais retire le dernier élément du tableau (et non le premier).
Exemples
Supprimer un élément d'un tableau
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"
Utiliser 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écifications
Specification |
---|
ECMAScript Language Specification # sec-array.prototype.shift |
Compatibilité des navigateurs
BCD tables only load in the browser