Sortieren von Arrays mit der Sort()-Methode
In diesem Kapitel werden die Feinheiten der Methode sort() untersucht, einschließlich ihrer Syntax, Standardverhalten und Techniken für benutzerdefinierte Sortierungen.
sort()
Die Methode sort() verändert das ursprüngliche Array und versieht es mit einer neuen Anordnung.
Wichtige Merkmale:
- Das ursprüngliche Array wird umgewandelt und die Elemente erhalten eine neue Reihenfolge;
- Die Methode liefert ein modifiziertes Array als Rückgabewert, was weitere Untersuchungen ermöglicht;
- Standardmäßig ordnet die Methode sort() die Elemente in aufsteigender Reihenfolge an.
Standardmäßiges Sortierverhalten
Das standardmäßige Sortieren funktioniert reibungslos bei Zeichenfolgen-Arrays, kann jedoch bei numerischen Arrays zu Problemen führen. Nachfolgend Beispiele zur Verdeutlichung dieses Verhaltens:
123const 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 scheinbar problemlos aufsteigend sortiert. Allerdings treten in der nächsten Darstellung Besonderheiten auf:
123const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
Die Methode sort() behandelt Elemente standardmäßig als Zeichenfolgen, was zu unerwarteten Ergebnissen führen kann. Beispielsweise wird 19 vor 2 und 25 vor 3 sortiert. Die Lösung liegt in der Anpassung des Sortiervorgangs.
Benutzerdefinierte Sortierreihenfolgen
Um das Sortieren an spezifische Anforderungen anzupassen, wird eine Callback-Funktion verwendet. Diese Funktion, oft als Vergleichsfunktion bezeichnet, bestimmt die Sortierlogik. Im Folgenden werden benutzerdefinierte Sortierungen für Zahlen und Zeichenfolgen erläutert. Grundlegende Syntax:
array.sort((a, b) => {
// Callback body
});
awird als erstes Element betrachtet;bwird 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.
1234567const 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
Zeichenketten sortieren
Die Methode localeCompare() ermöglicht eine alphabetische Sortierung und erlaubt die Anpassung für aufsteigende und absteigende Reihenfolgen.
1234567const 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 zentrales Merkmal der sort()-Methode?
2. Wie behandelt die sort()-Methode Elemente im Standard-Sortierverhalten?
3. Was wird im folgenden Beispiel als Ausgabe erscheinen?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 2.27
Sortieren von Arrays mit der Sort()-Methode
Swipe um das Menü anzuzeigen
In diesem Kapitel werden die Feinheiten der Methode sort() untersucht, einschließlich ihrer Syntax, Standardverhalten und Techniken für benutzerdefinierte Sortierungen.
sort()
Die Methode sort() verändert das ursprüngliche Array und versieht es mit einer neuen Anordnung.
Wichtige Merkmale:
- Das ursprüngliche Array wird umgewandelt und die Elemente erhalten eine neue Reihenfolge;
- Die Methode liefert ein modifiziertes Array als Rückgabewert, was weitere Untersuchungen ermöglicht;
- Standardmäßig ordnet die Methode sort() die Elemente in aufsteigender Reihenfolge an.
Standardmäßiges Sortierverhalten
Das standardmäßige Sortieren funktioniert reibungslos bei Zeichenfolgen-Arrays, kann jedoch bei numerischen Arrays zu Problemen führen. Nachfolgend Beispiele zur Verdeutlichung dieses Verhaltens:
123const 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 scheinbar problemlos aufsteigend sortiert. Allerdings treten in der nächsten Darstellung Besonderheiten auf:
123const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
Die Methode sort() behandelt Elemente standardmäßig als Zeichenfolgen, was zu unerwarteten Ergebnissen führen kann. Beispielsweise wird 19 vor 2 und 25 vor 3 sortiert. Die Lösung liegt in der Anpassung des Sortiervorgangs.
Benutzerdefinierte Sortierreihenfolgen
Um das Sortieren an spezifische Anforderungen anzupassen, wird eine Callback-Funktion verwendet. Diese Funktion, oft als Vergleichsfunktion bezeichnet, bestimmt die Sortierlogik. Im Folgenden werden benutzerdefinierte Sortierungen für Zahlen und Zeichenfolgen erläutert. Grundlegende Syntax:
array.sort((a, b) => {
// Callback body
});
awird als erstes Element betrachtet;bwird 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.
1234567const 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
Zeichenketten sortieren
Die Methode localeCompare() ermöglicht eine alphabetische Sortierung und erlaubt die Anpassung für aufsteigende und absteigende Reihenfolgen.
1234567const 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 zentrales Merkmal der sort()-Methode?
2. Wie behandelt die sort()-Methode Elemente im Standard-Sortierverhalten?
3. Was wird im folgenden Beispiel als Ausgabe erscheinen?
Danke für Ihr Feedback!