Array. prototype. toSorted()
Renvoie une copie triée du tableau, sans modifier l’original.
- Renvoie
- Un nouveau tableau trié.
- Modifie l’original
- Non
Exemple
#const prices = [79, 49, 59]
const sorted = prices.toSorted((a, b) => a - b)
console.log(sorted)
console.log(prices)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
#array.toSorted()
array.toSorted(compareFn)Paramètres
#compareFn
function (a, b)
Fonction de comparaison, comme poursort().
Plus d’exemples
#const steps = ['a', 'b', 'c']
console.log(steps.toReversed())
console.log(steps.with(1, 'B'))
console.log(steps.toSpliced(0, 1))
console.log(steps)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.