Ich habe ein Array von float Punktzahl:Sortierung Array von float Punktzahl
[ 82.11742562118049, 28.86823689842918, 49.61295450928224, 5.861613903793295 ]
Nach Art ausgeführt wird() auf dem Array ich diese:
[ 28.86823689842918, 49.61295450928224, 5.861613903793295, 82.11742562118049 ]
Beachten Sie, wie 5,8 ... ist größer als 49.6 ... für JavaScript (Node). Warum das?
Wie kann ich diese Nummern richtig sortieren?
Verwenden Sie 'arr.sort (Funktion (a, b) {zurück a-b;});'. So wie es aussieht, werden die Werte alphabetisch sortiert. "2" kommt vor "4", was vor "5" kommt, was vor "8" kommt (der Vergleich ist der erste "Buchstabe" jeder Zahl ... bis sie übereinstimmen, vergleicht dann den nächsten Buchstaben und so weiter on) – Ian
Zur Referenz: http://www.w3schools.com/jsref/jsref_sort.asp. Standardmäßig sortiert die Array-Sortiermethode von javascript alphabetisch und aufsteigend. Daher, warum Sie die Sortiermethode von @Ian übergeben –
Im Allgemeinen beziehen sich nicht w3 Schulen, wie sie für eine breite Palette von Dingen falsch sein können. – jtromans