首頁 >web前端 >js教程 >如何在 JavaScript 中以多列對多維數組進行排序?

如何在 JavaScript 中以多列對多維數組進行排序?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-29 20:21:29255瀏覽

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

在 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn