Heim  >  Artikel  >  Web-Frontend  >  Wie sortiert die Funktion sortNumber in js ein Array?

Wie sortiert die Funktion sortNumber in js ein Array?

不言
不言Original
2018-08-14 16:43:113960Durchsuche

Der Inhalt dieses Artikels befasst sich damit, wie die Funktion sortNumber in js Arrays sortiert. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

Es gibt eine Sortiermethode in JS, um die Sortierung zu implementieren, aber die einfache Verwendung der Sortiermethode reicht nicht aus, um die numerische Sortierung zu implementieren, Sie müssen auch eine Funktion namens sortNumber verwenden.

Zum Beispiel: Ich habe die Sortiermethode verwendet, um ihre Mängel zu demonstrieren (nur die Schlüsselcodes werden aufgelistet):

var arr = new Array(99,66,888,694898,116,46,41);
document.write("排序前:" +arr);
document.write("<br/>")
document.write("排序后:" +arr.sort());

Ergebnis:

Verwenden Sie die sortNumber-Methode (nur Schlüsselcodes werden aufgelistet):

 function sortNumber(a,b)
    {
        return a - b;
    }
    var arr = new Array(99,66,888,694898,116,46,41);
    document.write("排序前:" +arr);
    document.write("<br/>")
    document.write("排序后:" +arr.sort(sortNumber));

Ergebnis:

Erklärung des Grundes:

sort Sortiermethode:
Die Zahlen werden nicht nach numerischer Größe sortiert.
sortNumber-Sortierfunktion:
Wenn diese Methode ohne Parameter aufgerufen wird, werden die Elemente im Array in alphabetischer Reihenfolge, genauer gesagt in der Reihenfolge der Zeichenkodierung, sortiert.
Um dies zu erreichen, konvertieren Sie zunächst die Elemente des Arrays zum Vergleich in Strings (falls erforderlich).
Wenn Sie nach anderen Kriterien sortieren möchten, müssen Sie eine Vergleichsfunktion bereitstellen, die zwei Werte vergleicht und eine Zahl zurückgibt, die die relative Reihenfolge der beiden Werte beschreibt.
Die Vergleichsfunktion sollte zwei Parameter a und b haben und ihr Rückgabewert lautet wie folgt:
Wenn a kleiner als b ist, sollte a vor b im sortierten Array erscheinen und dann einen Wert kleiner als 0 zurückgeben.
Wenn a gleich b ist, wird 0 zurückgegeben.
Wenn a größer als b ist, wird ein Wert größer als 0 zurückgegeben.

Verwandte Empfehlungen:

js-Kapselung der _new-Funktion und Methode zur Implementierung eines neuen Schlüsselworts (mit Codetest)

js-Grundsyntax-Einführung : Datentypen und Variablentypen

Eine Zusammenfassung der Verwendung gängiger regulärer Ausdrücke in js

Das obige ist der detaillierte Inhalt vonWie sortiert die Funktion sortNumber in js ein Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn