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.
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 slice() des instances Array retourne un copie superficielle d'une portion d'un tableau sous la forme d'un nouvel objet tableau sélectionné de start à end (end non incluse), où start et end représentent l'indice des éléments dans ce tableau. Le tableau d'origine ne sera pas modifié.
L'indice (compté à partir de zéro) à partir duquel commencer l'extraction, converti en entier.
L'indice (compté à partir de zéro) jusqu'auquel extraire le fragment, converti en entier. slice() extrait jusqu'à, mais sans inclure, end.
Un nouveau tableau contenant les éléments extraits.
La méthode slice() est une méthode de copie. Elle n'altère pas this mais retourne plutôt une copie superficielle contenant certains des mêmes éléments que le tableau d'origine.
La méthode slice() préserve les emplacements vides. Si la portion découpée constitue un tableau creux (tableau creux), le tableau retourné est également creux.
La méthode slice() est générique. Elle suppose uniquement que la valeur de this possède une propriété length et des propriétés dont les clés sont des entiers.
Dans cet exemple, slice(1, 3) extrait les éléments à partir de l'indice 1 jusqu'à, mais sans inclure, l'indice 3, ce qui donne un nouveau tableau ['Orange', 'Citron'].
Dans cet exemple, slice(2) extrait les éléments à partir de l'indice 2 jusqu'à la fin du tableau.
Dans cet exemple, slice(-2) extrait les deux derniers éléments du tableau. Lorsqu'on utilise un indice négatif avec la méthode slice, les indices négatifs sont comptés depuis la fin du tableau : -1 désigne le dernier élément, -2 le précédent, etc. L'indice négatif -2 est inclus car il représente le point de départ de l'extraction.
| | | | | | | S | L | I | C | E | | | | | | | -5 -4 -3 -2 -1 <--- lecture depuis la finDans cet exemple, slice(1, -1) commence l'extraction à l'indice 1 et s'arrête avant l'élément situé à l'indice -1 (le dernier élément). Cela donne un nouveau tableau ['Banana', 'Orange', 'Mango']. La méthode slice exclut toujours l'élément situé à l'indice final spécifié, qu'il soit positif ou négatif.
lecture depuis le début ---> 0 1 2 3 4 | | | | | | | S | L | I | C | E | | | | | | | -5 -4 -3 -2 -1 <--- lecture depuis la finDans l'exemple suivant, slice crée un nouveau tableau, newCar, à partir de myCar. Les deux contiennent une référence à l'objet myHonda. Lorsque la couleur de myHonda est changée en "purple", les deux tableaux reflètent cette modification.
Ce script affichera :
myCar = [ { color: 'rouge', wheels: 4, engine: { cylinders: 4, size: 2.2 } }, 2, 'excellente condition', 'achetée en 1997' ] newCar = [ { color: 'rouge', wheels: 4, engine: { cylinders: 4, size: 2.2 } }, 2 ] myCar[0].color = rouge newCar[0].color = rouge La nouvelle couleur de ma Honda est bordeaux myCar[0].color = bordeaux newCar[0].color = bordeauxLa méthode slice() lit la propriété length de this. Elle lit ensuite les propriétés dont les clés sont des entiers de start à end et les définit sur un nouveau tableau créé.
La méthode slice() est souvent utilisée avec bind() et call() pour créer une méthode utilitaire qui convertit un objet semblable à un tableau en un tableau.
Le tableau retourné par slice() peut être creux si le tableau source est creux.
| ECMAScript® 2027 Language Specification # sec-array.prototype.slice |
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Cette page a été modifiée le 6 nov. 2025 par les contributeur·ice·s du MDN.
Votre modèle pour un internet meilleur.
Visitez la société mère à but non lucratif de Mozilla Corporation, la Fondation Mozilla.
Certaines parties de ce contenu sont protégées par le droit d'auteur ©1998—2026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.