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:
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 in aufsteigender Reihenfolge sortiert, scheinbar unkompliziert. Allerdings treten in der folgenden Darstellung Nuancen auf:
123const 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:
array.sort((a, b) => {
// Callback body
});
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
.
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
Zeichenfolgen sortieren
Die Methode localeCompare()
erleichtert die alphabetische Sortierung und ermöglicht die Anpassung sowohl für aufsteigende als auch 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 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!
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
Sort()-Methode
Swipe um das Menü anzuzeigen
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:
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 in aufsteigender Reihenfolge sortiert, scheinbar unkompliziert. Allerdings treten in der folgenden Darstellung Nuancen auf:
123const 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:
array.sort((a, b) => {
// Callback body
});
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
.
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
Zeichenfolgen sortieren
Die Methode localeCompare()
erleichtert die alphabetische Sortierung und ermöglicht die Anpassung sowohl für aufsteigende als auch 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 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!