Das Beste und das Wenigste aus einem Integer-Array herausholen: Eine unerwartete String-Ersetzung
Die Aufgabe, die höchsten und niedrigsten Werte innerhalb eines zu finden Ein Array, das ausschließlich aus Ganzzahlen besteht, erscheint täuschend einfach. Wie man jedoch vielleicht feststellen wird, stellt die native Methode sort() eine unerwartete Hürde dar. Da standardmäßig die alphabetische Reihenfolge priorisiert wird, erweist sich die numerische Sortierung als schwieriger als erwartet. Wie können wir diese Hürde überwinden und die Funktion sort() anweisen, sich auf die ganzzahligen Werte innerhalb der Array-Elemente zu konzentrieren?
Betrachten Sie das folgende Beispiel:
var numArray = [140000, 104, 99]; numArray = numArray.sort(); console.log(numArray);
Eine intuitive Erwartung würde uns führen Es ist eine Ausgabe von 99, 104, 140.000 zu erwarten. Das Ergebnis unterscheidet sich jedoch drastisch: 104, 140.000, 99. Das ist eigenartig Das Verhalten ergibt sich aus der inhärenten Tendenz der Methode sort(), Werte als Zeichenfolgen und nicht als Ganzzahlen zu behandeln.
Um dieses Problem zu beheben, können wir eine benutzerdefinierte Sortierfunktion einführen, um numerische Werte explizit zu verarbeiten. So können wir das erreichen:
var numArray = [140000, 104, 99]; numArray.sort(function(a, b) { return a - b; }); console.log(numArray);
Die Funktion sortNumber(a, b) übernimmt effizient die von uns gewünschte numerische Sortierung. Durch die Subtraktion von a von b verschieben positive Werte a nach rechts und stellen so sicher, dass höhere Werte später im sortierten Array erscheinen. Umgekehrt führen negative Werte zu einem Austausch, wodurch kleinere Werte nach links verschoben werden. Diese benutzerdefinierte Sortierfunktion ermöglicht es uns, Arrays von Ganzzahlen genau zu sortieren und sowohl den höchsten als auch den niedrigsten Wert wie beabsichtigt zu liefern.
Das obige ist der detaillierte Inhalt vonWie kann ich ein Integer-Array in JavaScript richtig sortieren, um die Minimal- und Maximalwerte zu finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!