Die Sort-Methode
Teil des Abschnitts Logik & Ablauf der JavaScript-Journey von Coddy — Lektion 57 von 65.
Die Methode sort() 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 Zeichenfolgen 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] (inkorrekte numerische Sortierung)Um Zahlen korrekt zu sortieren oder eine benutzerdefinierte Sortierung 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 sortieren Sie Zahlen mit einer Vergleichsfunktion:
// 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 localeCompare() verwenden)
people.sort((a, b) => a.name.localeCompare(b.name));Aufgabe
EinfachErstellen Sie eine Funktion namens sortByLength, die ein Array von Strings entgegennimmt und ein neues Array zurückgibt, in dem dieselben Strings nach ihrer Länge in aufsteigender Reihenfolge sortiert sind. Wenn zwei Strings die gleiche Länge haben, sollten sie alphabetisch sortiert werden.
Spickzettel
Die Methode sort() sortiert Array-Elemente an Ort und Stelle und gibt das sortierte Array zurück. Standardmäßig sortiert sie Elemente als Zeichenfolgen in alphabetischer Reihenfolge.
Grundlegende Syntax:
array.sort([compareFunction])Sortieren von Zeichenfolgen:
const fruits = ['banana', 'apple', 'orange', 'mango'];
fruits.sort();
console.log(fruits); // ['apple', 'banana', 'mango', 'orange']Warnung: Zahlen werden ohne eine Vergleichsfunktion nicht korrekt sortiert:
const numbers = [1, 30, 4, 21, 100000];
numbers.sort();
console.log(numbers); // [1, 100000, 21, 30, 4] (incorrect)Die Vergleichsfunktion gibt Folgendes zurück:
- Negativer Wert, wenn a vor b stehen sollte
- Positiver Wert, wenn b vor a stehen sollte
- Null, wenn sie gleich sind
Zahlen korrekt sortieren:
// Aufsteigende Reihenfolge
numbers.sort((a, b) => a - b);
// Absteigende Reihenfolge
numbers.sort((a, b) => b - a);Objekte sortieren:
const people = [
{ name: 'John', age: 30 },
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 35 }
];
// Nach Alter sortieren
people.sort((a, b) => a.age - b.age);
// Alphabetisch nach Namen sortieren
people.sort((a, b) => a.name.localeCompare(b.name));Probier es selbst
function sortByLength(arr) {
return arr.sort((a, b) => {
// Code hier schreiben
})
}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
String-GrundlagenÜber Strings iterierenTemplate LiteralsString-MethodenRückblick – String Weaver4JSON Teil 2
Über JSON iterierenVerschachteltes JSONJSON Optional ChainingFlache und tiefe KopieWiederholung – FahrradladenWiederholung – Sonnensystem7Bibliotheksverwaltungssystem
ProjektübersichtBücher hinzufügen2Mehrdimensionale Arrays
Grundlagen zu 2D-ArraysZugriff auf 2D-Array-ElementeVerschachtelte Schleifen mit 2D-ArraysRückblick – 2D-ArraysMatrix-Addition & SubtraktionJagged Arrays3D-Arrays und mehrGängige 2D-Array-MusterRückblick – Alles über Arrays5Sets Teil 1
Was ist ein Set?Iterieren über SetsEin Element hinzufügenEin Element entfernenPrüfen, ob ein Element existiertGröße und Is EmptyCopy und ClearZusammenfassung - Grundlagen von Sets8Arrays: Interessante Themen
Array-DestrukturierungSpread-Syntax in ArraysSparse ArraysWiederholung – Arrays Workshop3JSON Teil 1
Was ist JSON?Prüfen, ob Key existiertObjektmethodenDer Spread-Operator Teil 1Der Spread-Operator Teil 2Keys entfernenWiederholung – JSON-Keys manipulieren