Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence
  4. Objets natifs standards
  5. Array
  6. shift()

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 EnglishAlways switch to English

Array : méthode shift()

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éthodeshift() des instancesArray supprime lepremier élément d'un tableau et retourne cet élément supprimé. Cette méthode modifie la longueur du tableau.

Exemple interactif

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

Syntaxe

js
shift()

Paramètres

Aucun.

Valeur de retour

L'élément retiré du tableau ouundefined si le tableau est vide.

Description

La méthodeshift() 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 lalength propriété est 0,undefined est retourné.

La méthodepop() a un comportement similaire àshift(), mais s'applique au dernier élément d'un tableau.

La méthodeshift() est uneméthode mutatrice. Elle modifie la longueur et le contenu dethis. Si vous souhaitez que la valeur dethis reste inchangée mais obtenir un nouveau tableau sans le premier élément, vous pouvez utiliserarr.slice(1) à la place.

La méthodeshift() 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 soient également assimilables à des tableaux, cette méthode ne leur convient pas, car les chaînes sont immuables.

Exemples

Supprimer un élément d'un tableau

Le code suivant affiche le tableaumesPoissons avant et après avoir enlevé le premier élément. Il affiche aussi l'élément supprimé :

js
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"

Utilisershift() dans une bouclewhile

La méthodeshift() peut être utilisée dans une bouclewhile. 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.

js
var noms = ["André", "Édouard", "Paul", "Christophe", "Jean"];while ((i = noms.shift()) !== undefined) {  console.log(i);}// André, Édouard, Paul, Christophe, Jean

Appelershift() sur des objets qui ne sont pas des tableaux

La méthodeshift() lit la propriétélength dethis. Si lalongueur normalisée vaut 0,length est de nouveau définie à0 (alors qu'elle peut être négative ouundefined 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 estsupprimée, et la propriétélength est décrémentée de 1.

js
const objetSimilaireTableau = {  length: 3,  unrelated: "foo",  2: 4,};console.log(Array.prototype.shift.call(objetSimilaireTableau));// undefined, car il s'agit d'une case videconsole.log(objetSimilaireTableau);// { '1': 4, length: 2, unrelated: 'foo' }const plainObj = {};// Il n'y a pas de propriété `length`, donc `length` vaut 0Array.prototype.shift.call(plainObj);console.log(plainObj);// { length: 0 }

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-array.prototype.shift

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp