在 JavaScript 中按多列對數組進行排序
根據多列對多維數組進行排序需要自訂排序函數。對於由「publicationIDownderID」組成的主數組,目標是先按所有者名稱排序,然後按出版物名稱排序。
提供的現有排序函數「mysortfunction」僅限於僅按所有者名稱排序。為了解決此限制,必須修改函數以同時考慮所有者名稱和出版物名稱:
<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>
此修改後的函數現在優先按所有者名稱排序。如果所有者名稱相同,則繼續使用publication_name作為排序的決勝符。
更新的「mysortfunction」現在可以與Array.sort()結合使用以實現所需的多列排序:
<code class="javascript">array.sort(mysortfunction);</code>
以上是如何在 JavaScript 中以多列對多維數組進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!