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>
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>
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!