Sortieren Array von Objekten nach einzelnen Schlüssel mit Datum Wert

Tahseen Tauseef 12 Oktober 2023
  1. Was ein JavaScript-Array ist
  2. Was ein JavaScript-Objekt ist
  3. Was ein Array von Objekten ist
  4. Was der array.sort-Prototyp in Javascript ist
  5. Sortieren ein Array von Objekten mit dem Datumswert
Sortieren Array von Objekten nach einzelnen Schlüssel mit Datum Wert

In diesem Artikel werden wir Möglichkeiten zum Sortieren eines Arrays von Objekten nach einem einzelnen Schlüssel mit Datumswert erörtern und Folgendes verstehen:

  • Was ein Array ist
  • Was ein Objekt ist
  • Was ein Array von Objekten ist
  • Was der array.sort-Prototyp in JavaScript ist
  • Wie man ein Array von Objekten mit dem Datumswert sortiert

Was ein JavaScript-Array ist

In JavaScript speichert ein Array mehrere Datentypen in einer einzigen Variablen. Im Gegensatz zu einigen anderen Programmiersprachen kann ein JavaScript-Array verschiedene Datentypen im selben Array enthalten.

Jedes Element in einem Array wird nacheinander im RAM gespeichert.

const randomArray = ['Tahseen', 1, 0.3, true];
console.log(randomArray);
// logs: Tahseen , 1 , 0.3 , true

Auf jedes Element in einem Array kann zugegriffen werden, indem sein Index an die Array-Variable übergeben wird.

Hinweis
JavaScript-Arrays sind nullindiziert.
console.log(randomArray[0]);
// logs: Tahseen

Was ein JavaScript-Objekt ist

Ein JavaScript-Objekt ist eine Sammlung von Schlüssel-Wert-Paaren.

Ein Schlüssel ist ein Merkmal oder eine Eigenschaft eines Objekts. In der Zwischenzeit ist ein Wert derjenige dieser entsprechenden Eigenschaft.

const Car = {
  company: 'Tesla',
  model: 'Model 3',
  year: 2017
};

Ein Wert der Eigenschaft eines JavaScript-Objekts kann abgerufen werden, indem der Objektname mit dem Eigenschaftsnamen kombiniert wird; wir können das im folgenden Codesegment sehen.

console.log(Car.company);
// logs: Tesla

Was ein Array von Objekten ist

Ein Array von Objekten ist ein Array, in dem jedes Element innerhalb des JavaScript-Arrays ein Objekt ist. Ein Array von Objekten ähnelt jedem anderen JavaScript-Array, mit dem Unterschied, dass jedes Element ein JavaScript-Objekt ist.

Sehen wir uns zum besseren Verständnis folgendes Beispiel an:

const MyAppointments = [
  {
    'with': 'Doctor Tauseef',
    'designation': 'Dentist',
    'reason': 'Toothache',
    'date': '2021-12-01T06:25:24Z',
  },
  {
    'with': 'Abdullah Abid',
    'designation': 'Software Engineer',
    'reason': 'An Idea for a App',
    'date': '2021-12-01T06:25:24Z',
  },
  {
    'with': 'Muhammad Haris',
    'designation': 'Painter',
    'reason': 'Need to pain the house',
    'date': '2021-13-01T06:25:24Z',
  },
]

Was der array.sort-Prototyp in Javascript ist

Das Array.prototype.sort() ohne Argumente wird verwendet, um ein Array in aufsteigender Reihenfolge zu sortieren. Beachten Sie jedoch, dass die Funktion Array-Elemente in Zeichenketten konvertiert und sie basierend auf ihrer Sequenz von UTF-16-Codeeinheiten vergleicht, sodass sie für einen normalen Benutzer möglicherweise nicht sortiert aussieht.

const Months = ['March', 'Jan', 'Feb', 'Dec'];
Months.sort();
console.log(Months);
// logs: ["Dec", "Feb", "Jan", "March"]

Alternativ kann der array.sort eine Vergleichsfunktion als Callback-Funktion zur Verfügung gestellt werden, die das Array nach folgenden Kriterien sortiert:

Vergleichsfunktion(x,y) Ordnung bestellen
wenn return-Wert grösser als Null setze y vor x
wenn return-Wert kleiner Null setze x vor y
wenn der return-Wert gleich Null ist dieselbe Reihenfolge beibehalten
const Numbers = [4, 2, 5, 1, 3];
Numbers.sort((x, y) => x - y);
console.log(Numbers);
// logs: [1, 2, 3, 4, 5]

Sortieren ein Array von Objekten mit dem Datumswert

Sie können ein Array von Objekten nach Datum sortieren, indem Sie dieselbe oben beschriebene Sortiermethode verwenden.

let MyAppointments = [
  {
    'with': 'Doctor Tauseef',
    'designation': 'Dentist',
    'reason': 'Toothache',
    'appointment_date': '2021-12-01T06:25:24Z',
  },
  {
    'with': 'Abdullah Abid',
    'designation': 'Software Engineer',
    'reason': 'An Idea for a App',
    'appointment_date': '2021-12-09T06:25:24Z',
  },
  {
    'with': 'Muhammad Haris',
    'designation': 'Painter',
    'reason': 'Need to pain the house',
    'appointment_date': '2021-12-05T06:25:24Z',
  },
]

MyAppointments.sort(function(x, y) {
  var firstDate = new Date(x.appointment_date),
      SecondDate = new Date(y.appointment_date);

  if (firstDate < SecondDate) return -1;
  if (firstDate > SecondDate) return 1;
  return 0;
});

console.log(MyAppointments);

Dies vergleicht jedes Datum und gibt -1 zurück, wenn das erste Datum kleiner als das zweite ist. Wenn das erste Datum größer als das zweite Datum ist, wird 1 zurückgegeben; andernfalls wird 0 zurückgegeben.

Das obige Codesegment protokolliert das folgende Array.

[{
  with: 'Doctor Tauseef',
  designation: 'Dentist',
  reason: 'Toothache',
  appointment_date: '2021-12-01T06:25:24Z'
},
 {
   with: 'Muhammad Haris',
   designation: 'Painter',
   reason: 'Need to pain the house',
   appointment_date: '2021-12-05T06:25:24Z'
 },
 {
   with: 'Abdullah Abid',
   designation: 'Software Engineer',
   reason: 'An Idea for a App',
   appointment_date: '2021-12-09T06:25:24Z'
 }]

Verwandter Artikel - JavaScript Array

Verwandter Artikel - JavaScript Object