Mengisih Tatasusunan mengikut Berbilang Lajur dalam JavaScript
Mengisih tatasusunan berbilang dimensi berdasarkan berbilang lajur memerlukan fungsi pengisihan tersuai. Untuk tatasusunan utama yang terdiri daripada "publicationIDownderID", matlamatnya adalah untuk mengisih dahulu mengikut nama_pemilik dan kemudian mengikut nama_penerbitan.
Fungsi isihan sedia ada yang disediakan, "fungsi isihan saya", dihadkan kepada pengisihan semata-mata mengikut nama_pemilik. Untuk menangani had ini, fungsi mesti diubah suai untuk mempertimbangkan kedua-dua nama_pemilik dan nama_penerbitan:
<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>
Fungsi yang diubah suai ini kini mengutamakan pengisihan mengikut nama_pemilik. Jika nama pemilik adalah sama, ia terus menggunakan publication_name sebagai pemecah seri untuk mengisih.
"mysortfunction" yang dikemas kini kini boleh digunakan bersama dengan Array.sort() untuk mencapai isihan berbilang lajur yang diingini:
<code class="javascript">array.sort(mysortfunction);</code>
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan Berbilang Dimensi dengan Berbilang Lajur dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!