Sur un principe trouvé sur un code de Skyride, voici une fonction
permettant de trier un tableau de variables de facon ascendante
ou descendante.
Source / Exemple :
<HTML>
<HEAD>
<SCRIPT>
var Tab1 = new Array(10,19,8,7,6,-9,15,4,13,12,0,1,02,-1)
function SortArray(Originals,Order){
var Numbers = new Array() // Tableau utilisé pour la conparaison
var Test = (Order > 0) ? "Numbers[b] > Numbers[a]" : "Numbers[b] < Numbers[a]" // Choix de la comparaison
for (i = 0; i < Originals.length; i++){Numbers[i] = Originals[i]} // Copie du tableau original
for (a = 0; a < Numbers.length; a++) // Liste de tous les éléments du tableau
{
for (b = 0; b < Numbers.length ;b++) // Re-liste tous les éléments pour les comparer à Numbers[a]
{
if (eval(Test)) {Copy = Numbers[b]; Numbers[b] = Numbers[a]; Numbers[a] = Copy} // Déplacement de la valeur
}
}
return(Numbers) // Retourne le tableu trié
}
// Code de teste :
var Tab2 = SortArray(Tab1,1)
var Tab3 = SortArray(Tab1,-1)
var str = "<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0 STYLE='font: 12 Arial; text-align: center'><TR><TD>Index</TD><TD> Original</TD><TD> Ascendant</TD><TD> Descendant</TD><TR>"
for (i = 0; i < Tab2.length; i++)
{str += "<TR><TD>"+i+"</TD><TD>"+Tab1[i] + "</TD><TD>" + Tab2[i]+"</TD><TD>" + Tab3[i]+"</TD><TR>"}
str += "</TABLE>"
document.write(str)
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.