Heim > Web-Frontend > js-Tutorial > Wie sortiere ich ein mehrdimensionales Array nach mehreren Spalten in JavaScript?

Wie sortiere ich ein mehrdimensionales Array nach mehreren Spalten in JavaScript?

Mary-Kate Olsen
Freigeben: 2024-10-29 20:21:29
Original
248 Leute haben es durchsucht

How to Sort a Multidimensional Array by Multiple Columns in JavaScript?

Sortieren eines Arrays nach mehreren Spalten in JavaScript

Das Sortieren eines mehrdimensionalen Arrays basierend auf mehreren Spalten erfordert eine benutzerdefinierte Sortierfunktion. Bei einem primären Array, das aus „publicationIDownderID“ besteht, besteht das Ziel darin, zuerst nach Besitzername und dann nach Publikationsname zu sortieren.

Die vorhandene Sortierfunktion „mysortfunction“ ist auf die Sortierung ausschließlich nach Besitzername beschränkt. Um diese Einschränkung zu beheben, muss die Funktion geändert werden, um sowohl Eigentümername als auch Veröffentlichungsname zu berücksichtigen:

<code class="javascript">function mysortfunction(a, b) {

  var o1 = a[3].toLowerCase();
  var o2 = b[3].toLowerCase();

  var p1 = a[1].toLowerCase();
  var p2 = b[1].toLowerCase();

  if (o1 < o2) return -1;
  if (o1 > o2) return 1;
  if (p1 < p2) return -1;
  if (p1 > p2) return 1;
  return 0;
}</code>
Nach dem Login kopieren

Diese geänderte Funktion priorisiert jetzt die Sortierung nach Eigentümername. Wenn die Besitzernamen identisch sind, wird Publikationsname als Tiebreaker für die Sortierung verwendet.

Die aktualisierte „mysortfunction“ kann jetzt in Verbindung mit Array.sort() verwendet werden, um die gewünschte mehrspaltige Sortierung zu erreichen:

<code class="javascript">array.sort(mysortfunction);</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein mehrdimensionales Array nach mehreren Spalten in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage