Heim  >  Artikel  >  Web-Frontend  >  Wie sortiere ich Arrays von Objekten nach Attributen mithilfe von JQuery/JavaScript?

Wie sortiere ich Arrays von Objekten nach Attributen mithilfe von JQuery/JavaScript?

DDD
DDDOriginal
2024-10-23 10:51:02551Durchsuche

How to Sort Arrays of Objects by Attribute Using JQuery/JavaScript?

Sortieren von Objektarrays mit JQuery/JavaScript

In JavaScript stoßen Sie möglicherweise auf Arrays von Objekten, die eine Sortierung basierend auf bestimmten Attributen erfordern. Um ein Array von Objekten nach einem bestimmten Attribut, wie in Ihrem Fall „Name“, zu sortieren, führen Sie die folgenden Schritte aus:

  1. Attribute extrahieren: Erstellen Sie eine Hilfsfunktion, die das extrahiert gewünschtes Attribut von jedem Objekt im Array. In Ihrem Fall wäre es function(object) { return object.name; }.
  2. Definieren Sie eine Vergleichsfunktion: Implementieren Sie eine Vergleichsfunktion, die zwei Objekte nimmt und ihre angegebenen Attribute vergleicht. Um nach „Name“ in aufsteigender Reihenfolge zu sortieren, verwenden Sie function(a, b) { return a.name.toLowerCase() - b.name.toLowerCase(); }.
  3. Verwenden Sie Array.sort(): Wenden Sie die Methode sort() auf das Array mit der bereitgestellten Vergleichsfunktion als Parameter an: array.sort(comparisonFunction);.

Beispiel:

Betrachten Sie das folgende Array von Objekten:

<code class="javascript">var array = [
  { id: 1, name: "Alice", value: 10 },
  { id: 2, name: "Bob", value: 15 },
  { id: 3, name: "Carl", value: 5 }
];</code>

Um das Array in aufsteigender Reihenfolge nach „Name“ zu sortieren, verwenden Sie die Folgende Funktion:

<code class="javascript">function SortByName(a, b) {
  var aName = a.name.toLowerCase();
  var bName = b.name.toLowerCase();
  return ((aName < bName) ? -1 : ((aName > bName) ? 1 : 0));
}</code>

Wenden Sie die Sortierung an mit:

<code class="javascript">array.sort(SortByName);</code>

Das resultierende Array wird nach „Name“ in aufsteigender Reihenfolge sortiert:

<code class="javascript">[
  { id: 3, name: "Carl", value: 5 },
  { id: 1, name: "Alice", value: 10 },
  { id: 2, name: "Bob", value: 15 }
]</code>

Zu der doppelten Frage:

Es scheint, dass die Frage zuvor als Duplikat geschlossen wurde, da sie als ähnlich zu einer späteren Frage angesehen wurde, die mehr Aufmerksamkeit erhielt. Diese Frage wurde jedoch früher gestellt und hätte nicht als Duplikat markiert werden dürfen.

Das obige ist der detaillierte Inhalt vonWie sortiere ich Arrays von Objekten nach Attributen mithilfe von JQuery/JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn