JavaScriptTableaux

Array.prototype.toSorted()

Renvoie une copie triée du tableau, sans modifier l’original.

Renvoie
Un nouveau tableau trié.
Modifie l’original
Non
Sur cette page

Exemple

#
JavaScript
const prices = [79, 49, 59]
const sorted = prices.toSorted((a, b) => a - b)

console.log(sorted)
console.log(prices)
Console
[49, 59, 79]
[79, 49, 59]

Définition et utilisation

#

La méthode toSorted() fonctionne comme sort(), mais au lieu de trier le tableau sur place, elle renvoie un nouveau tableau trié. L’original reste identique.

C’est pratique dans un code qui évite les mutations, par exemple dans l’état de composants React, où modifier le tableau d’origine peut provoquer des bugs difficiles à repérer.

Elle appartient à la famille des méthodes « copiantes », avec toReversed(), toSpliced() et with(). Vous fournissez la fonction de comparaison de la même façon que pour sort().

Syntaxe

#
Syntaxe
array.toSorted()
array.toSorted(compareFn)

Paramètres

#
  • compareFn

    function (a, b)

    Fonction de comparaison, comme pour sort().

Plus d’exemples

#
La famille des méthodes copiantes
JavaScript
const steps = ['a', 'b', 'c']

console.log(steps.toReversed())
console.log(steps.with(1, 'B'))
console.log(steps.toSpliced(0, 1))
console.log(steps)
Console
['c', 'b', 'a']
['a', 'B', 'c']
['b', 'c']
['a', 'b', 'c']

Compatibilité des navigateurs

#

Largement disponible · depuis 2023

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

  • Chrome
  • Edge
  • Firefox
  • Safari

Bonnes pratiques

#
  • Dans l’état d’une application, préférez toSorted() à sort(). Vous évitez ainsi toute mutation accidentelle des données.
  • Dans du code plus ancien, [...array].sort(...) produit le même effet.

Entrées associées

#

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