Sortieren Array von Objekten nach einzelnen Schlüssel mit Datum Wert
- Was ein JavaScript-Array ist
- Was ein JavaScript-Objekt ist
- Was ein Array von Objekten ist
-
Was der
array.sort
-Prototyp in Javascript ist - Sortieren ein Array von Objekten mit dem Datumswert
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.
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
- Überprüfen Sie, ob das Array einen Wert in JavaScript enthält
- Array mit bestimmter Länge in JavaScript erstellen
- Konvertieren ein Array in einen String in JavaScript
- Erstes Element aus einem Array in JavaScript entfernen
- Objekte aus einem Array in JavaScript suchen
- Konvertieren von Argumenten in ein Array in JavaScript