Tri de tableaux, à 1 ou 2 dimensions
Liste des indices des valeurs triées
méthode sort
, tri par défaut
En javascript, la méthode sort
permet de trier / ordonner les éléments d'un tableau.
De nombreuses ressources expliquent son fonctionnement complet, par exemple sur
w3school
ou sur
developer.mozilla.
Par exemple,
tab=[1,5,12,-3,2]; tab.sort(); alert(tab); // affiche: -3,1,12,2,5 tab=["avion","voiture","Bateau","velo"]; tab.sort(); alert(tab) // affiche: Bateau,avion,velo,voiture
Tri avec fonction de comparaison
La méthodesort
accepte en paramètre optionnel une fonction qui permet de définir la manière de faire le tri des éléments.
Cette fonction est une relation d'ordre, c'est-à-dire entre autre une relation binaire qui permettant de comparer deux éléments.
Cette fonction à deux arguments, a
et b
par exemple, doit retourner un nombre négatif si a
doit être placé avant b
, retourner un nombre positif si b
doit êplacé avant b
, tandis qu'avec un résultat nul les positions de a
et b
restent inchangées.
Avec les exemples précédents, pour ordonner des nombres de manière croissante ou des chaînes de caractères par ordre alphabétique, sans se préoccuper des majuscules/minuscules:
tab=[1,5,12,-3,2]; tab.sort(function (a,b) {return a-b;}); alert(tab); // affiche: -3,1,2,5,12 tab=["avion","voiture","Bateau","velo"]; // tab.sort(function (a,b) { if (a.toLowerCase()<b.toLowerCase()) {return -1;} else if (a.toLowerCase()>b.toLowerCase()) {return 1;} else {return 1;}}); alert(tab) // affiche: avion,Bateau,velo,voiture