HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
Get to know MDN better
Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
View in English Always switch to English
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éthode shift() des instances Array supprime le premier élément d'un tableau et retourne cet élément supprimé. Cette méthode modifie la longueur du tableau.
shift()
Array
const array1 = [1, 2, 3]; const firstElement = array1.shift(); console.log(array1); // Résultat attendu : Array [2, 3] console.log(firstElement); // Résultat attendu : 1
Aucun.
L'élément retiré du tableau ou undefined si le tableau est vide.
undefined
La méthode shift() décale toutes les valeurs vers la gauche de 1 et décrémente la longueur de 1, résultant en la suppression du premier élément. Si la length propriété est 0, undefined est retourné.
length
La méthode pop() a un comportement similaire à shift(), mais s'applique au dernier élément d'un tableau.
pop()
La méthode shift() est une méthode mutatrice. Elle modifie la longueur et le contenu de this. Si vous souhaitez que la valeur de this reste inchangée mais obtenir un nouveau tableau sans le premier élément, vous pouvez utiliser arr.slice(1) à la place.
this
arr.slice(1)
La méthode shift() est générique. Elle attend uniquement que la valeur de this possède une propriété length et des propriétés indexées par des entiers. Bien que les chaînes soient également assimilables à des tableaux, cette méthode ne leur convient pas, car les chaînes sont immuables.
Le code suivant affiche le tableau mesPoissons avant et après avoir enlevé le premier élément. Il affiche aussi l'élément supprimé :
mesPoissons
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"
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
La méthode shift() lit la propriété length de this. Si la longueur normalisée vaut 0, length est de nouveau définie à 0 (alors qu'elle peut être négative ou undefined auparavant). Sinon, la propriété à 0 est retournée, et le reste des propriétés est décalé d'un indice vers la gauche. La propriété à length - 1 est supprimée, et la propriété length est décrémentée de 1.
0
length - 1
const objetSimilaireTableau = { length: 3, unrelated: "foo", 2: 4, }; console.log(Array.prototype.shift.call(objetSimilaireTableau)); // undefined, car il s'agit d'une case vide console.log(objetSimilaireTableau); // { '1': 4, length: 2, unrelated: 'foo' } const plainObj = {}; // Il n'y a pas de propriété `length`, donc `length` vaut 0 Array.prototype.shift.call(plainObj); console.log(plainObj); // { length: 0 }
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Array.prototype.push()
Array.prototype.pop()
Array.prototype.unshift()
Array.prototype.concat()
Array.prototype.splice()