131 votes

Array.sort() ne trie pas les numéros correctement#39;t

Dans Chrome 14 et Firefox 5 (n’ont pas testé d’autres navigateurs), le code suivant ne trie pas les nombres correctement :

Il renvoie 10,100,20,30,60

J’ai essayé différents nombres, et il agit toujours comme si les 0 ne sont pas là et trie les nombres correctement autrement. Quelqu’un sait pourquoi?

166voto

Joseph Marikle Points 25280
<pre><code></code><p><a href="http://www.javascriptkit.com/javatutors/arraysort.shtml">ce lien.</a></p></pre>

34voto

Nick Husher Points 1216

Le tri par défaut pour les tableaux en Javascript est une recherche alphabétique. Si vous voulez un tri numérique, essayez quelque chose comme ceci:

18voto

Julien Lafont Points 5230

Vous pouvez utiliser une fonction de tri :

Regardez http://www.javascriptkit.com/javatutors/arraysort.shtml

-4voto

Samir Adel Points 2203

essaye ça:

 a = new Array();
a.push(10);
a.push(60);
a.push(20);
a.push(30);
a.push(100);
a.sort(Test)

document.write(a);


function Test(a,b)
{
    return a > b ? true : false;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X