JavaScriptTableaux

Array.prototype.slice()

Renvoie une copie d’une portion du tableau, sans modifier l’original.

Renvoie
Un nouveau tableau avec les éléments extraits.
Modifie l’original
Non
Sur cette page

Exemple

#
JavaScript
const modules = ['Introduction', 'HTML', 'CSS', 'Flexbox', 'Grid']

console.log(modules.slice(1, 3))
console.log(modules.slice(-2))
console.log(modules)
Console
['HTML', 'CSS']
['Flexbox', 'Grid']
['Introduction', 'HTML', 'CSS', 'Flexbox', 'Grid']

Définition et utilisation

#

La méthode slice(start, end) extrait une portion du tableau depuis l’indice start jusqu’à end, sans inclure l’élément d’indice end, et la renvoie comme nouveau tableau. L’original reste intact.

Les indices négatifs se comptent depuis la fin : slice(-2) renvoie les deux derniers éléments. Un appel sans argument crée une copie superficielle de tout le tableau.

Ne la confondez pas avec splice(), qui modifie le tableau en supprimant ou en insérant des éléments. Facile à retenir : slice découpe une copie, splice opère sur l’original.

Syntaxe

#
Syntaxe
array.slice()
array.slice(start)
array.slice(start, end)

Paramètres

#
  • start

    optionnel

    Indice de début (inclus). Un indice négatif compte depuis la fin.
  • end

    optionnel

    Indice de fin (exclu). Par défaut, la longueur du tableau.

Plus d’exemples

#
Pagination
JavaScript
const items = [1, 2, 3, 4, 5, 6, 7]
const perPage = 3
const page = 2

console.log(items.slice((page - 1) * perPage, page * perPage))
Console
[4, 5, 6]

Compatibilité des navigateurs

#

Largement disponible

Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.

  • Chrome
  • Edge
  • Firefox
  • Safari

Bonnes pratiques

#
  • slice() crée une copie superficielle : les objets qu’elle contient sont partagés entre les deux tableaux.
  • Pour paginer des résultats, la formule slice((page - 1) * size, page * size) est simple et claire.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.