Die Sort-Methode
Teil des Abschnitts Logik & Ablauf der JavaScript-Journey von Coddy. Lektion 57 von 65.
Die sort()-Methode ermöglicht es Ihnen, die Elemente eines Arrays an Ort und Stelle zu sortieren, und gibt das sortierte Array zurück. Standardmäßig sortiert sie Elemente als Strings in alphabetischer und aufsteigender Reihenfolge.
Hier ist die grundlegende Syntax:
array.sort([compareFunction])Beispiel ohne Verwendung der Vergleichsfunktion:
const fruits = ['banana', 'apple', 'orange', 'mango'];
fruits.sort();
console.log(fruits);
// ['apple', 'banana', 'mango', 'orange']WARNUNG: Zahlen werden ohne Vergleichsfunktion nicht wie erwartet sortiert:
const numbers = [1, 30, 4, 21, 100000];
numbers.sort();
console.log(numbers);
// [1, 100000, 21, 30, 4] (falsche numerische Sortierung)Um Zahlen korrekt zu sortieren oder benutzerdefiniertes Sortieren zu implementieren, müssen Sie eine Vergleichsfunktion verwenden.
Die Vergleichsfunktion sollte Folgendes zurückgeben:
- Einen negativen Wert, wenn a vor b stehen sollte
- Einen positiven Wert, wenn b vor a stehen sollte
- Null, wenn sie gleich sind
So würdest du Zahlen mithilfe einer Vergleichsfunktion sortieren:
// Aufsteigende Reihenfolge
const numbers = [1, 30, 4, 21, 100000];
numbers.sort((a, b) => a - b);
console.log(numbers); // [1, 4, 21, 30, 100000]// Absteigende Reihenfolge
numbers.sort((a, b) => b - a);
console.log(numbers); // [100000, 30, 21, 4, 1]Ein weiteres Beispiel dafür, wie man Objekte sortiert:
const people = [
{ name: 'John', age: 30 },
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 35 }
];
// Nach Alter sortieren (aufsteigend)
people.sort((a, b) => a.age - b.age);// Nach Name sortieren (alphabetisch mit localeCompare())
people.sort((a, b) => a.name.localeCompare(b.name));Aufgabe
EinfachErstelle eine Funktion namens sortByLength, die ein Array von Strings entgegennimmt und ein neues Array mit denselben Strings zurückgibt, die nach ihrer Länge in aufsteigender Reihenfolge sortiert sind. Wenn zwei Strings die gleiche Länge haben, sollten sie alphabetisch sortiert werden.
Probier es selbst
function sortByLength(arr) {
return arr.sort((a, b) => {
// Schreibe den Code hier
})
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Strings im Detail
Grundlagen von StringsStrings durchlaufenTemplate LiteralsString-MethodenRückblick – String-Weber4JSON Teil 2
JSON durchlaufenVerschachteltes JSONOptionale Verkettung in JSONFlache und tiefe KopieWiederholung – FahrradgeschäftWiederholung – Sonnensystem7Bibliotheksverwaltungssystem
ProjektübersichtBücher hinzufügen2Mehrdimensionale Arrays
Grundlagen von 2D-ArraysZugriff auf Elemente von 2D-ArraysVerschachtelte Schleifen mit 2D-ArraysWiederholung – 2D-ArraysMatrixaddition und -subtraktionZackige Arrays3D-Arrays und darüber hinausHäufige Muster bei 2D-ArraysWiederholung – Alles über Arrays5Mengen – Teil 1
Was ist eine Menge?Mengen durchlaufenEin Element hinzufügenEin Element entfernenPrüfen, ob ein Element vorhanden istGröße und LeerstatusKopieren und LeerenRückblick – Grundlagen von Mengen8Interessante Themen zu Arrays
Destrukturierung von ArraysSpread-Syntax in ArraysDünn besetzte ArraysRückblick – Workshop zu Arrays3JSON Teil 1
Was ist JSON?Prüfen, ob ein Schlüssel vorhanden istObjektmethodenSpread-Operator Teil 1Spread-Operator Teil 2Schlüssel entfernenRückblick – JSON-Schlüssel bearbeitenÜbe selbstständig: Online-JavaScript-Compiler