logo

JavaScript-Array sort()-Methode

Der sort()> Methode in JavaScript ordnet die Elemente eines Arrays an Ort und Stelle an und gibt das sortierte Array zurück. Standardmäßig werden Elemente alphabetisch sortiert und als Zeichenfolgen behandelt.

Für die numerische Sortierung können Sie jedoch eine benutzerdefinierte Vergleichsfunktion bereitstellen. Diese Funktion gibt die Sortierkriterien vor und ermöglicht so eine präzise Steuerung des Sortiervorgangs. „sort()“ steigert die Effizienz und Funktionalität von JavaScript-Anwendungen, indem es Ihnen ermöglicht, Array-Elemente nach spezifischen Anforderungen auf professionelle und formale Weise zu organisieren.



Syntax

arr.sort(compareFunction);>

Parameter

  • array>: Das zu sortierende Array.
  • compareFunction>(Optional): Eine Funktion, die die Sortierreihenfolge definiert. Wenn es weggelassen wird, werden die Array-Elemente basierend auf ihren String-Unicode-Codepunkten sortiert.

Rückgabewert



Diese Methode gibt die Referenz des sortierten Originalarrays zurück.

: in Java

Beispiele:

Beispiel 1: Sortieren eines String-Arrays

Dieses Beispiel zeigt die Verwendung der Funktion sort().



Freddie Mercury
JavaScript
// JavaScript to illustrate sort() function function func() {  // Original string  let arr = ['Geeks', 'for', 'Geeks']  console.log(arr);  // Sorting the array  console.log(arr.sort()); } func();>

Ausgabe
[ 'Geeks', 'for', 'Geeks' ] [ 'Geeks', 'Geeks', 'for' ]>

Erläuterung:

Dersort()>Die Methode ordnet die Elemente der neu anarr>alphabetisch sortiert und erzeugt so die Ausgabe['Geeks', 'Geeks', 'for']>.

Beispiel 2: Sortieren eines Zahlenarrays ohne Vergleichsfunktion

Hier das Sortieren() Die Methode ordnet die Elemente des Arrays in aufsteigender Reihenfolge an.

JavaScript
// JavaScript to illustrate sort() function function func() {  //Original string  let arr = [2, 5, 8, 1, 4]  //Sorting the array  console.log(arr.sort()); } func();>

Ausgabe
[ 1, 2, 4, 5, 8 ]>

Erläuterung:

Dersort()>Die Methode wird für ein Array von Zahlen aufgerufen[2, 5, 8, 1, 4]>. Dersort()>Die Methode sortiert die Elemente alphabetisch, da keine Vergleichsfunktion bereitgestellt wird. Daher wird die Ausgabe sein[1, 2, 4, 5, 8]>, die alphabetisch nach den Zeichenfolgedarstellungen der Zahlen sortiert ist.

Beispiel 3: Numerische Werte ohne Vergleichsfunktion sortieren

Hier sortieren wir numerische Werte ohne Vergleichsfunktion

Javascript
let numbers = [20, 5.2, -120, 100, 30, 0] console.log(numbers.sort())>

Ausgabe
[ -120, 0, 100, 20, 30, 5.2 ]>

Erläuterung:

Wie man aus einer While-Schleife in Java ausbricht

Wenn Sie das verwendensort()>Bei einer Methode ohne Vergleichsfunktion sortiert JavaScript Array-Elemente standardmäßig als Zeichenfolgen, was bei numerischen Arrays möglicherweise nicht immer zu den erwarteten Ergebnissen führt. Lassen Sie uns den Sortiervorgang aufschlüsseln:

  • JavaScript wandelt jedes Element des Arrays in einen String um.
  • Anschließend vergleicht es die UTF-16-Codeeinheiten jedes Zeichens in den Zeichenfolgen und sortiert sie basierend auf dem Unicode-Codepunktwert.

Folgendes passiert mit Ihrem Array:

  • Die Zahlen werden in Strings umgewandelt:['20', '5.2', '-120', '100', '30', '0']>.
  • Bei alphabetischer Sortierung-120>kommt zuerst, weil->hat einen niedrigeren Unicode-Codepunktwert als Ziffern (0>Zu9>). Dann kommt0>, gefolgt von100>,20>,30>, Und5.2>.

Beispiel 4: Numerische Werte mit Vergleichsfunktion sortieren

Wir können den unerwarteten Fehler, der im obigen Beispiel aufgetreten ist, beheben, indem wir die Methode sort() für Zahlen mithilfe der folgenden Vergleichsfunktion verwenden.

Javascript
let numbers = [20, 5.2, -120, 100, 30, 0]; /* Logic:   20 - (5.2) = +ve =>5.2 würde vor 20 platziert werden, 20 - (-120) = +ve => -120 würde vor 20 platziert werden, 20 - (100) = -ve => 100 würde nach 20 platziert werden, 20 - (30) = - ve => 30 würde nach 20 platziert, 20 - (0) = +ve => 0 würde vor 20 platziert werden. Ebenso überprüfen wir jedes Element und platzieren es entsprechend in Iterationen. */ Funktion vergleichen(a, b) { return a - b; } console.log(numbers.sort(compare));>

Ausgabe
[ -120, 0, 5.2, 20, 30, 100 ]>

Erläuterung:

  • Dercompare>Funktion subtrahiertb>ausa>. Wenn das Ergebnis negativ ist,a>kommt davorb>im sortierten Array; wenn positiv,b>kommt davora>; Wenn sie Null sind, bleibt ihre relative Reihenfolge unverändert.
  • Durch die Bereitstellung dieser benutzerdefinierten Vergleichsfunktion fürsort()>-Methode sortiert JavaScript das Arraynumbers>basierend auf den numerischen Werten seiner Elemente.

Bitte gehen Sie das durch Wie sortiere ich ein numerisches Array mit JavaScript? , um zu erfahren, wie die Javascript-Array-Sortierfunktion funktioniert

Javascript-Schlaf

Wir haben eine vollständige Liste der Javascript-Array-Methoden. Um diese zu überprüfen, gehen Sie bitte hier durch Vollständige Javascript-Array-Referenz Artikel.

Unterstützte Browser:

  • Google Chrome
  • Rand
  • Internet Explorer
  • Feuerfuchs
  • Oper
  • Safari