Array : méthode toSorted() - JavaScript | MDN

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2023.

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

js

toSorted()
toSorted(compareFn)

Paramètres

compareFn Facultatif

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

js

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.

js

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.

js

const objetSimilaireTableau = {
  length: 3,
  unrelated: "foo",
  0: 5,
  2: 4,
  3: 3, // ignoré par toSorted() car length vaut 3
};
console.log(Array.prototype.toSorted.call(objetSimilaireTableau));
// [4, 5, undefined]

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-array.prototype.tosorted

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par les contributeurs du MDN.