Le tri d'un tableau en ordre croissant s'effectue avec la méthode sort() et en ordre décroissant avec la méthode reverse().
Exemple :
let hobbits = ["Pippin", "Merry", "Frodon", "Sam"]; let tab = hobbits.sort(); document.write(hobbits + "<br>"); document.write(tab);
On constate que la méthode sort() retourne un nouveau tableau trié, mais change aussi l'ordre du tableau initial. C'est pourquoi la valeur de retour est rarement récupérée.
En ordre inverse :
document.write(hobbits.reverse());
Sortie :
Essayons maintenant avec des nombres :
let nombres = [10, -5, 15, -1, 5]; nombres.sort(); document.write(nombres);
Le résultat est plutôt inattendu :
Le problème vient du fait que le comportement par défaut de la méthode sort() est de convertir les éléments d'un tableau en chaînes de caractères avant d'effectuer sur eux un tri lexicographique. Ce qui ne convient évidemment pas aux nombres.
Pour changer ce comportement par défaut, il faudra fournir en paramètre à la méthode sort() ou à sa contrepartie reverse() la fonction à utiliser pour trier le contenu du tableau.