Heim >Web-Frontend >js-Tutorial >Warum führt die JavaScript-Funktion „sort()' beim Sortieren von Zahlen zu unerwarteten Ergebnissen und wie lässt sich das beheben?
Sortieren eines Arrays von Ganzzahlen: Die numerische Sortierung verstehen
Das Sortieren eines Arrays von Ganzzahlen mag einfach erscheinen, aber es können bestimmte Macken auftreten, die dazu führen zu unerwarteten Ergebnissen. Betrachten Sie den folgenden Code:
numArray = numArray.sort();<br>
Intuitiv könnte man erwarten, dass dieser Code das Array in aufsteigender Reihenfolge sortiert : [99, 104, 140000]. Die Ausgabe ist jedoch unerwartet: [104, 140000, 99]. Dies liegt daran, dass das Standardverhalten der Sortierfunktion darin besteht, Elemente als Zeichenfolgen zu behandeln und sie alphabetisch zu sortieren.
Um dieses Problem zu beheben, bietet JavaScript einen Mechanismus zum Anpassen des Sortierprozesses. Durch die Einführung einer neuen Vergleichsfunktion können wir angeben, wie Elemente sortiert werden sollen.
Im Fall von Ganzzahlen können wir eine numerische Sortierfunktion definieren:
gibt ein - zurück b;<br>});<br>
Diese Sortierfunktion subtrahiert einfach eine Ganzzahl von einer anderen, was zu Folgendem führt: ein positiver oder negativer Wert. Positive Werte zeigen an, dass das erste Argument (a) größer als das zweite (b) ist und umgekehrt.
Indem wir diese Funktion an die Sortiermethode übergeben, können wir das Array effektiv numerisch sortieren:
Jetzt ist das Array korrekt sortiert in aufsteigender Reihenfolge basierend auf den ganzzahligen Werten seiner Elemente. Durch die Nutzung der benutzerdefinierten Vergleichsfunktion können wir steuern, wie das Array sortiert wird, und das gewünschte Ergebnis erzielen.
Das obige ist der detaillierte Inhalt vonWarum führt die JavaScript-Funktion „sort()' beim Sortieren von Zahlen zu unerwarteten Ergebnissen und wie lässt sich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!