Kursinhalt
JavaScript-Datenstrukturen
JavaScript-Datenstrukturen
Sort()-Methode
Dieses Kapitel untersucht die Feinheiten der sort()
-Methode, einschließlich ihrer Syntax, Standardverhalten und benutzerdefinierter Sortiertechniken.
sort()
Die sort()
-Methode verändert das ursprüngliche Array und verleiht ihm eine neue Anordnung.
Wichtige Merkmale, die man sich merken sollte:
- Das ursprüngliche Array wird transformiert und seine Elemente finden sich in einer neuen Anordnung wieder;
- Die Methode liefert ein modifiziertes Array als Rückgabewert, das weitere Erkundungen ermöglicht;
- Standardmäßig ordnet die sort()-Methode die Elemente in aufsteigender Reihenfolge an.
Standardmäßiges Sortierverhalten
Das standardmäßige Sortieren funktioniert nahtlos für Arrays von Zeichenfolgen, aber numerische Arrays können Herausforderungen darstellen. Lassen Sie uns durch Beispiele navigieren, um dieses Verhalten zu beleuchten:
const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
In diesem Beispiel wird das Zahlenarray in aufsteigender Reihenfolge sortiert, scheinbar unkompliziert. Allerdings treten in der folgenden Darstellung Nuancen auf:
const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
Die sort()
-Methode behandelt Elemente standardmäßig als Zeichenfolgen, was zu unerwarteten Ergebnissen führen kann. Zum Beispiel wird 19
vor 2
sortiert und 25
vor 3
. Die Lösung liegt in der Anpassung des Sortierprozesses.
Benutzerdefinierte Sortierreihenfolgen
Um das Sortieren an spezifische Bedürfnisse anzupassen, wird eine Callback-Funktion verwendet. Diese Funktion, oft als Vergleichsfunktion bezeichnet, bestimmt die Sortierlogik. Lassen Sie uns benutzerdefiniertes Sortieren sowohl für Zahlen als auch für Zeichenfolgen erkunden. Grundsyntax:
a
wird als erstes Element betrachtet;b
wird als zweites Element betrachtet.
Zahlen sortieren
In diesem Fall bestimmt die Vergleichsfunktion die aufsteigende und absteigende Reihenfolge basierend auf der Beziehung zwischen den Elementen a
und b
.
const numbers = [34, 25, 19, 1, 92, 2, 3]; const ascendingNumbers = [...numbers].sort((a, b) => a - b); console.log(ascendingNumbers); // Output: 1, 2, 3, 19, 25, 34, 92 const descendingNumbers = [...numbers].sort((a, b) => b - a); console.log(descendingNumbers); // Output: 92, 34, 25, 19, 3, 2, 1
Zeichenfolgen sortieren
Die Methode localeCompare()
erleichtert die alphabetische Sortierung und ermöglicht die Anpassung sowohl für aufsteigende als auch absteigende Reihenfolgen.
const employees = ["Antonia", "Rene", "Casey", "Lorraine", "Shelia"]; const inAlphabetOrder = [...employees].sort((a, b) => a.localeCompare(b)); console.log(inAlphabetOrder); // Antonia, Casey, Lorraine, Rene, Shelia const inReversedOrder = [...employees].sort((a, b) => b.localeCompare(a)); console.log(inReversedOrder); // Shelia, Rene, Lorraine, Casey, Antonia
1. Was ist ein wesentliches Merkmal der sort()
-Methode?
2. Wie behandelt die sort()
-Methode Elemente im Standard-Sortierverhalten?
3. Was wird im folgenden Beispiel die Ausgabe sein?
Danke für Ihr Feedback!