Parmi les fonctions natives de JavaScript, la fonction "sort" permet de trier des tableaux de données. Pour autant, elle ne fait pas de tri alphabétique de mots. Le tri de chaînes de caractères est effectué avec une priorité donnée aux lettres majuscules.
On peut le constater avec l'exemple suivant ;
["chaine A", "Chaine B"].sort();
// renvoie : ["Chaine B", "chaine A"]
Comparaison alphabétique de textes avec JavaScript
Pour trier des chaînes alphabétiquement, il faut permettre à la fonction "sort" de les comparer par ordre lexicographique. Pour cela, on utilise la méthode native "localCompare", que l'on utilise au travers d'une fonction à passer en paramètre de "sort".
La fonction "strSort" suivante permet de trier des textes par ordre alphabétique :
function strSort(a) {
return a.sort(function(x,y) {
return x.toString().localeCompare(y.toString());
});
}
Elle est facile à utiliser, elle retourne le tableau de chaînes de caractères passé en paramètre, trié alphabétiquement. Avec les textes précédants, on obtient cette fois le résultat attendu :
strSort(["chaine A", "Chaine B"]);
// renvoie ["chaine A", "Chaine B"]
Cet article vous a-t-il été utile ?
Super :)
Merci d'avoir donné votre avis !
Oups :(
Merci d'avoir donné votre avis qui va nous permettre de nous améliorer !