Mengisih Tatasusunan Dua Dimensi mengikut Nilai Lajur dalam JavaScript
Dalam artikel ini, kita akan meneroka cara mengisih tatasusunan dua dimensi dalam JavaScript mengikut nilai lajur tertentu.
Masalah Pernyataan
Memandangkan tatasusunan dua dimensi yang diwakili sebagai tatasusunan, setiap subtatasusunan mengandungi dua elemen, tugasnya ialah mengisih tatasusunan dalam tertib menaik berdasarkan nilai dalam lajur pertama ( lajur dengan indeks 0).
Penyelesaian
JavaScript menyediakan kemudahan kaedah, sort(), yang boleh digunakan untuk mengisih tatasusunan berbilang dimensi. Mari pecahkan kod yang disediakan:
var a = [[12, 'AAA'], [58, 'BBB'], [28, 'CCC'],[18, 'DDD']]; a.sort(sortFunction); function sortFunction(a, b) { if (a[0] === b[0]) { return 0; } else { return (a[0] < b[0]) ? -1 : 1; } }
Penjelasan
Fungsi sorting diluluskan sebagai hujah kepada kaedah sort(). Fungsi ini membandingkan dua elemen pertama sub-tatasusunan (a[0] dan b[0]) dan mengembalikan:
Secara lalai, sort() menggunakan nilai yang dikembalikan untuk menentukan susunan sub-tatasusunan, mengisihnya dalam tertib menaik.
Isih Mengikut Lajur Kedua
Untuk mengisih mengikut lajur kedua, sortFunction boleh diubah suai untuk membandingkan nilai lajur kedua:
a.sort(compareSecondColumn); function compareSecondColumn(a, b) { if (a[1] === b[1]) { return 0; } else { return (a[1] < b[1]) ? -1 : 1; } }
Ini membolehkan fleksibiliti dalam mengisih mengikut lajur berbeza berdasarkan keperluan khusus.
Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Isih Tatasusunan Dua Dimensi mengikut Nilai Lajur dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!