Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Sortieren von Arrays mit der Sort()-Methode | Fortgeschrittene Array-Methoden und -Transformationen
Javascript Datenstrukturen

bookSortieren 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:

123
const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
copy

In diesem Beispiel wird das Zahlenarray scheinbar problemlos aufsteigend sortiert. Allerdings treten in der nächsten Darstellung Besonderheiten auf:

123
const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
copy

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
});
  • 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.

1234567
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
copy

Zeichenketten sortieren

Die Methode localeCompare() ermöglicht eine alphabetische Sortierung und erlaubt die Anpassung für aufsteigende und absteigende Reihenfolgen.

1234567
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
copy

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?

question mark

Was ist ein zentrales Merkmal der sort()-Methode?

Select the correct answer

question mark

Wie behandelt die sort()-Methode Elemente im Standard-Sortierverhalten?

Select the correct answer

question mark

Was wird im folgenden Beispiel als Ausgabe erscheinen?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 7

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 2.27

bookSortieren 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:

123
const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
copy

In diesem Beispiel wird das Zahlenarray scheinbar problemlos aufsteigend sortiert. Allerdings treten in der nächsten Darstellung Besonderheiten auf:

123
const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
copy

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
});
  • 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.

1234567
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
copy

Zeichenketten sortieren

Die Methode localeCompare() ermöglicht eine alphabetische Sortierung und erlaubt die Anpassung für aufsteigende und absteigende Reihenfolgen.

1234567
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
copy

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?

question mark

Was ist ein zentrales Merkmal der sort()-Methode?

Select the correct answer

question mark

Wie behandelt die sort()-Methode Elemente im Standard-Sortierverhalten?

Select the correct answer

question mark

Was wird im folgenden Beispiel als Ausgabe erscheinen?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 7
some-alt