Sortieren eines Arrays von Ganzzahlen: Jenseits der alphabetischen Reihenfolge
Beim Versuch, die höchsten und niedrigsten Werte aus einem Array von Ganzzahlen abzurufen, kann es sein, dass Sie Es ist ein unerwartetes Verhalten aufgetreten: Die Sortierfunktion scheint die Elemente als Zeichenfolgen zu sortieren. Um dieses Problem zu lösen, benötigen wir einen Sortiermechanismus, der ganzzahlige Werte berücksichtigt.
Die Standardsortierung verstehen
Standardmäßig führt die Sortiermethode in JavaScript eine alphabetische Sortierung durch. Dies bedeutet, dass Elemente als Zeichenfolgen verglichen und in lexikografischer Reihenfolge angeordnet werden. Bei Ganzzahlen kann dies zu falschen Ergebnissen führen, da der Vergleich auf der String-Darstellung der Zahlen und nicht auf ihren tatsächlichen Werten basiert.
Lösung: Benutzerdefinierte numerische Sortierfunktion
Um diese Einschränkung zu beheben, können wir eine benutzerdefinierte Sortierfunktion definieren, die sich auf den Vergleich der ganzzahligen Werte von Array-Elementen konzentriert. Hier ist ein einfaches Beispiel:
var numArray = [140000, 104, 99]; numArray.sort(function(a, b) { return a - b; }); console.log(numArray);
Die bereitgestellte Sortierfunktion (mit dem Namen sortNumber oder ähnlich) benötigt zwei Parameter, a und b, die die beiden verglichenen Elemente darstellen. Um das Array in aufsteigender Reihenfolge zu sortieren, subtrahieren wir einfach a von b. Wenn das Ergebnis positiv ist, sollte a nach b kommen; Wenn negativ, sollte a vor b stehen.
Ergebnisse
Durch die Verwendung der benutzerdefinierten Sortierfunktion erhalten wir das richtige Ergebnis:
[99, 104, 140000]
Die Array-Elemente werden nun wie vorgesehen in aufsteigender numerischer Reihenfolge nach ihren ganzzahligen Werten sortiert.
Das obige ist der detaillierte Inhalt vonWie sortiere ich ein Array von Ganzzahlen in JavaScript richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!