JavaScript Array toSorted()

Définition et utilisation

toSorted() La méthode trie les éléments de l'array par ordre alphabétique.

toSorted() La méthode retourne un nouvel array.

toSorted() La méthode ne couvre pas l'array original.

toSorted() La méthode est sort() Version copiée de la méthode.

Voir également :

Méthode sort() de l'array

Méthode reverse() de l'array

Fonction de comparaison de tri

Le tri alphabétique des chaînes de caractères est très bien ("Apple" est avant "Banana").

Cependant, le tri des nombres peut produire des résultats incorrects.

"25" est plus grand que "100", car "2" est plus grand que "1".

Il est possible de résoudre ce problème en fournissant une "fonction de comparaison" (voir les exemples ci-dessous).

Exemple

Exemple 1

// Créer un tableau
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Trier le tableau
const fruits2 = fruits.toSorted();

Essayez-le vous-même

Exemple 2

Ordre inversé après tri :

// Créer un tableau
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Trier le tableau
const fruits2 = fruits.toSorted();
// Inverser l'ordre de l'array
fruits2.reverse();

Essayez-le vous-même

Exemple 3

Trier les nombres par ordre croissant en utilisant une fonction de tri :

// Créer un tableau
const points = [40, 100, 1, 5, 25, 10];
// Trier le tableau
let points2 = points.toSorted(function(a, b){return a - b});

Essayez-le vous-même

Exemple 4

Trier les nombres par ordre décroissant :

// Créer un tableau
const points = [40, 100, 1, 5, 25, 10];
// Trier le tableau
let points2 = points.toSorted(function(a, b){return b - a});

Essayez-le vous-même

Exemple 5

Trouver la valeur minimale :

// Créer un tableau
const points = [40, 100, 1, 5, 25, 10];
// Trier les nombres par ordre croissant
let points2 = points.toSorted(function(a, b){return a - b});
let lowest = points2[0];

Essayez-le vous-même

Exemple 6

Trouver la valeur maximale :

// Créer un tableau
const points = [40, 100, 1, 5, 25, 10];
// Trier les nombres par ordre décroissant
let points2 = points.toSorted(function(a, b){return b - a});
let highest = points2[0];

Essayez-le vous-même

Exemple 7

Trouver la valeur maximale :

// Créer un tableau
const points = [40, 100, 1, 5, 25, 10];
// Trier les nombres par ordre croissant
let points2 = points.toSorted(function(a, b){return a - b});
let highest = points2[points.length - 1];

Essayez-le vous-même

Syntaxe

array.sort(compareFunction)

Paramètres

Paramètres Description
compareFunction

Optionnel. Définir une fonction pour l'ordre de tri. Cette fonction doit retourner une valeur négative, zéro ou positive en fonction des paramètres :

function(a, b){return a-b}

Lorsque sort() compare deux valeurs, il envoie ces valeurs à la fonction de comparaison et trie les valeurs en fonction du retour (valeur négative, zéro, valeur positive).

Exemple :

La fonction de tri considère 40 comme une valeur plus petite que 100.

Lors de la comparaison de 40 et 100, sort() appelle la fonction function(40, 100).

La fonction calcule 40 - 100 et retourne -60 (valeur négative).

Valeur de retour

Type Description
Array Nouvel array trié.

Support du navigateur

toSorted() C'est une caractéristique de ES2023.

Depuis juillet 2023, tous les navigateurs modernes prennent en charge cette méthode :

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
Février 2023 Février 2023 Juillet 2023 Mars 2023 Mai 2023