Sortieren nach Datum in JavaScript

Shraddha Paghdar 12 Oktober 2023
Sortieren nach Datum in JavaScript

Sortieren bedeutet, Daten in aufsteigender oder absteigender Reihenfolge gemäß einer linearen Beziehung zwischen Datenelementen anzuordnen. Die Sortierung kann nach Name, Nummer, Datum und Eintragstyp erfolgen.

Im heutigen Beitrag lernen wir, in JavaScript nach Datum in aufsteigender oder absteigender Reihenfolge zu sortieren.

Sortieren nach Datum in JavaScript

Es gibt mehrere Arten von Sortieralgorithmen in der Datenstruktur. Einige dieser Algorithmen sind:

  1. Einfügesortierung
  2. Sortieren zusammenführen
  3. Schnellsortierung
  4. Radix-Sortierung
  5. Stapelsortierung
  6. Auswahl sortieren
  7. Blasensortierung

JavaScript bietet eine eingebaute sort()-Methode, die die Elemente eines Arrays sortiert und das sortierte Array zurückgibt. Die Standardsortierreihenfolge ist aufsteigend.

Sie können die Funktion schreiben, wenn Sie in absteigender Reihenfolge sortieren möchten. Diese Methode wandelt Elemente in Zeichenfolgen um und vergleicht ihre UTF16-Codeeinheitswertsequenzen.

Syntax:

sort()
sort((a, b) => {/* write logic here */})
sort(compareFunction)
sort(function compareFunction(a, b) { /* write logic here */ })

Die Methode sort() akzeptiert 2 Argumente: a und b.

CompareFunction ist ein optionaler Parameter. Dies gibt eine Funktion an, die die Sortierreihenfolge definiert.

Wenn sie nicht übergeben wird, werden die Array-Elemente in Zeichenfolgen konvertiert und basierend auf dem Unicode-Punktwert jedes Zeichens sortiert. Wenn diese Funktion angegeben ist, werden standardmäßig 2 Eingabe-Array-Elemente verwendet, die miteinander verglichen werden müssen.

Diese Funktion mutiert das ursprüngliche Array, und es wird keine Kopie erstellt.

Mehr über die Methode sort() erfahren Sie hier.

Lassen Sie uns ein Beispiel erstellen, in dem Datumsangaben in aufsteigender und absteigender Reihenfolge verglichen werden.

Beispiel:

const datesArray1 = ['2022-03-14', '2022-04-14', '2022-01-14'];
const datesArray2 = ['2022-03-14', '2022-04-14', '2022-01-14'];
const ascDates = datesArray1.sort((a, b) => {
  return new Date(a).getTime() - new Date(b).getTime();
});
const descDates = datesArray2.sort((a, b) => {
  return new Date(b).getTime() - new Date(a).getTime();
});
console.log(ascDates);
console.log(descDates);

Im Beispiel haben wir drei Termine definiert. In der Vergleichsfunktion haben wir zuerst den String date in ein Datumsobjekt konvertiert und dann die Anzahl der Millisekunden seit der Epoche berechnet.

Versuchen Sie, das obige Beispiel in einem beliebigen Browser auszuführen. Es wird das folgende Ergebnis drucken.

Ausgang:

["2022-01-14", "2022-03-14", "2022-04-14"]
["2022-04-14", "2022-03-14", "2022-01-14"]

Sie können auch auf den vollständigen Code in diesem Beispiel hier zugreifen.

Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

Verwandter Artikel - JavaScript Sort