Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mengisih Susunan Berbilang Lajur dalam JavaScript mengikut Nama Pemilik dan Penerbitan?

Bagaimana untuk Mengisih Susunan Berbilang Lajur dalam JavaScript mengikut Nama Pemilik dan Penerbitan?

DDD
DDDasal
2024-11-01 01:29:28447semak imbas

How to Sort a Multi-Column Array in JavaScript by Owner and Publication Name?

Isih Tatasusunan Berbilang Lajur Tersuai dalam JavaScript

Isih tatasusunan berdasarkan berbilang lajur ialah tugas biasa dalam pengaturcaraan. Soalan ini meneroka cara untuk mencapai ini dalam JavaScript untuk struktur tatasusunan tertentu.

Tatasusunan yang dimaksudkan ialah tatasusunan berbilang dimensi dengan struktur berikut:

[publicationID][publication_name][ownderID][owner_name]

Matlamatnya adalah untuk mengisih tatasusunan pertama dengan nama_pemilik dan kemudian dengan nama_publikasi.

Untuk mengisih pada berbilang lajur, fungsi isihan tersuai perlu mempertimbangkan kedua-dua kriteria. Kod berikut menunjukkan cara mengubah suai mysortfunction yang disediakan untuk mencapai hasil yang diingini:

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;
}

Dalam fungsi ini:

  • o1 dan o2 ditukar kepada huruf kecil untuk perbandingan tidak peka huruf besar-kecil nama_pemilik.
  • p1 dan p2 ditukar kepada huruf kecil untuk perbandingan tidak sensitif huruf besar bagi nama_penerbitan.
  • Jika nilai nama_pemilik adalah berbeza, fungsi diisih berdasarkan nilai tersebut.
  • Jika nilai owner_name adalah sama, fungsi menggunakan publication_name untuk pemecahan seri.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Susunan Berbilang Lajur dalam JavaScript mengikut Nama Pemilik dan Penerbitan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn