So sortieren Sie die Nummer in der JavaScript-Sortiermethode [duplizieren]

8

Unten ist der Code:

%Vor%

Ich fand, das ist W3School ohne erklären, alles! Ist die Funktion sortnumber eine Formel zum Sortieren einer Zahl? Was bedeutet a und b und warum existiert es? wieso sortNumber in n.sort (sortNumber) keine Parameter von a und b spezifiziert, kann mir jemand das erklären? Danke !!

    
dramasea 02.01.2011, 03:03
quelle

4 Antworten

6

Die Funktion JavaScript sort() kann einen Parameter annehmen oder nicht.
Der Parameter wäre eine Funktion - also what function is to be used to assess which of two elements should be before the other .

Das n-Array besteht aus Strings, die Zahlen darstellen.
Bei einer einfachen sort() ohne eine Funktion würde eine alphabetische Reihenfolge verwendet: Das Ergebnis wäre

%Vor%

und ist nicht korrekt.

Eine Funktion, sortNumber , weist sort an, diese Funktion mit zwei Elementen des Arrays aufzurufen, wenn der sort -Algorithmus wissen möchte, welches der beiden Elemente vor dem anderen steht.

Damit sortNumber mit zwei Elementen zur Verfügung gestellt wird, führt eine Operation numerical entweder

aus
  • ein negativer Wert, dh a ist vor b
  • ein positiver Wert, b ist vor a
  • zero: Sie sind gleich in der Reihenfolge (Reihenfolge spielt keine Rolle).
Ring Ø 02.01.2011, 03:10
quelle
2

Sie müssen überlegen, was sort() verbraucht; sort() verwendet eine Funktion, die die Sortierung oder die Sortierung definiert. Um zu vereinfachen:

%Vor%

Wenn Sie also die Funktion sortNumber definieren, definieren Sie tatsächlich, wie sort das Array sortiert.

Wenn wir also eine Funktion definieren, wird der Körper wie folgt definiert:

%Vor%

Wir möchten nach aufsteigender Reihenfolge sortieren

Wenn wir eine Funktion mit Körper definieren:

%Vor%

Wir möchten nach absteigender Reihenfolge sortieren

Hoffe, das hilft

    
Adrian Carolli 02.01.2011 03:13
quelle
1

Wenn Sie n.sort(sortNumber) schreiben, übergeben Sie die sortNumber Funktion an sort .
Sie rufen nicht die Funktion sortNumber auf, so dass Sie keine Parameter übergeben.

Javascript sort Methode verwendet einen optionalen Parameter: eine Funktion, die zwei Elemente vergleicht.
sort ruft die übergebene Funktion auf, um Paare von Elementen im Array zu vergleichen.
Die Vergleichsfunktion, die Sie angeben, sollte zwei Parameter enthalten und eine Zahl zurückgeben, die angibt, welche größer ist.

    
SLaks 02.01.2011 03:11
quelle
0

Die Sortierfunktion akzeptiert zwei Argumente, a und b , und soll eine Zahl zurückgeben.

  • Wenn a mehr als b ist, sollte es eine positive Zahl zurückgeben.
  • Wenn a kleiner als b ist, sollte eine negative Zahl zurückgegeben werden.
  • Wenn a gleich ist wie b , sollte es 0 zurückgeben.

Und a - b erzeugt diese Zahl. Sie können Backwords auch sortieren, indem Sie stattdessen b - a verwenden. Sie bekommen die Idee.

    
Thai 02.01.2011 03:09
quelle

Tags und Links