Array : méthode toSorted()
Baseline
2023
Newly available
Depuis July 2023, cette fonctionnalité fonctionne sur les appareils et les versions de navigateur les plus récents. Elle peut ne pas fonctionner sur les appareils ou navigateurs plus anciens.
La méthode toSorted() des instances de Array est la version copiante de la méthode sort(). Elle retourne un nouveau tableau dont les éléments sont triés par ordre croissant.
Syntaxe
toSorted()
toSorted(compareFn)
Paramètres
compareFnFacultatif-
Une fonction qui définit l'ordre des éléments. Si elle est omise, les éléments du tableau sont convertis en chaînes de caractères, puis triés selon la valeur du point de code Unicode de chaque caractère. Voir
sort()pour plus d'informations.
Valeur de retour
Un nouveau tableau dont les éléments sont triés par ordre croissant.
Description
Voir sort() pour plus d'informations sur le paramètre compareFn.
Lorsqu'elle est utilisée sur un tableau creux, la méthode toSorted() parcourt les cases vides comme si elles avaient la valeur undefined.
La méthode toSorted() est générique. Elle attend seulement que la valeur de this possède une propriété length et des propriétés à clés entières.
Exemples
>Trier un tableau
const months = ["Mar", "Jan", "Feb", "Dec"];
const sortedMonths = months.toSorted();
console.log(sortedMonths); // ['Dec', 'Feb', 'Jan', 'Mar']
console.log(months); // ['Mar', 'Jan', 'Feb', 'Dec']
const values = [1, 10, 21, 2];
const sortedValues = values.toSorted((a, b) => a - b);
console.log(sortedValues); // [1, 2, 10, 21]
console.log(values); // [1, 10, 21, 2]
Pour plus d'exemples d'utilisation, voir sort().
Utiliser toSorted() sur un tableau creux
Les cases vides sont triées comme si elles avaient la valeur undefined. Elles sont toujours placées à la fin du tableau et compareFn n'est pas appelé pour elles.
console.log(["a", "c", , "b"].toSorted()); // ['a', 'b', 'c', undefined]
console.log([, undefined, "a", "b"].toSorted()); // ["a", "b", undefined, undefined]
Appeler toSorted() sur un objet qui n'est pas un tableau
La méthode toSorted() lit la propriété length de this. Elle collecte ensuite toutes les propriétés à clé entière existantes dans l'intervalle de 0 à length - 1, les trie, puis les écrit dans un nouveau tableau.
const arrayLike = {
length: 3,
unrelated: "foo",
0: 5,
2: 4,
3: 3, // ignoré par toSorted() car length vaut 3
};
console.log(Array.prototype.toSorted.call(arrayLike));
// [4, 5, undefined]
Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.prototype.tosorted> |
Compatibilité des navigateurs
Chargement…
Voir aussi
- Guide des collections indexées
- La méthode
Array.prototype.sort() - La méthode
Array.prototype.toReversed() - La méthode
Array.prototype.toSpliced() - La méthode
Array.prototype.with() - La méthode
TypedArray.prototype.toSorted() - Prothèse d'émulation de
Array.prototype.toSorteddans core-js (angl.) - Prothèse d'émulation es-shims de
Array.prototype.toSorted(angl.)