Einführung
In diesem Lab werden wir lernen, wie man ein Array von Objekten alphabetisch nach einer angegebenen Eigenschaft mithilfe von JavaScript sortiert. Wir werden die Array.prototype.sort()-Methode und die String.prototype.localeCompare()-Methode verwenden, um die Werte für die angegebene Eigenschaft zu vergleichen. Dies wird es uns ermöglichen, das Array einfach in aufsteigender oder absteigender Reihenfolge nach unseren Anforderungen zu sortieren.
Wie man ein Array alphabetisch nach einer angegebenen Eigenschaft in JavaScript sortiert
Um ein Array von Objekten alphabetisch nach einer angegebenen Eigenschaft in JavaScript zu sortieren, folgen Sie diesen Schritten:
- Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Codeausführung zu beginnen. - Verwenden Sie
Array.prototype.sort(), um das Array nach der angegebenen Eigenschaft zu sortieren. - Verwenden Sie
String.prototype.localeCompare(), um die Werte für die angegebene Eigenschaft zu vergleichen.
Hier ist ein Beispielcodeausschnitt, den Sie verwenden können:
const alphabetical = (arr, getter, order = "asc") =>
arr.sort(
order === "desc"
? (a, b) => getter(b).localeCompare(getter(a))
: (a, b) => getter(a).localeCompare(getter(b))
);
Sie können die alphabetical-Funktion mit einem Array von Objekten und der Getter-Funktion aufrufen, die die zu sortierende Eigenschaft zurückgibt. Hier ist ein Beispiel für die Verwendung:
const people = [{ name: "John" }, { name: "Adam" }, { name: "Mary" }];
alphabetical(people, (g) => g.name);
// [ { name: 'Adam' }, { name: 'John' }, { name: 'Mary' } ]
alphabetical(people, (g) => g.name, "desc");
// [ { name: 'Mary' }, { name: 'John' }, { name: 'Adam' } ]
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Array alphabetisch sortieren" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.