Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengisih Tatasusunan 2D mengikut Nilai Lajur dalam JavaScript?
Isih Tatasusunan 2D dalam JavaScript
Bagaimanakah saya boleh mengisih tatasusunan 2D mengikut nilai lajur dalam JavaScript?
Andaikan kita mempunyai tatasusunan 2D dengan format berikut:
[[12, "AAA"], [58, "BBB"], [28, "CCC"], [18, "DDD"]]
Kami mahu mengisih tatasusunan ini mengikut lajur pertama, menghasilkan:
[[12, "AAA"], [18, "DDD"], [28, "CCC"], [58, "BBB"]]
Penyelesaian:
Mengisih tatasusunan 2D mengikut nilai lajur adalah mudah dalam JavaScript. Begini cara anda boleh melakukannya:
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; } }
Fungsi ini menggunakan peraturan berikut:
Untuk mengisih tatasusunan mengikut lajur kedua, cuma gantikan a[0] dengan a[1] dalam fungsi perbandingan.
a.sort(compareSecondColumn); function compareSecondColumn(a, b) { if (a[1] === b[1]) { return 0; } else { return (a[1] < b[1]) ? -1 : 1; } }
Rujuk dokumentasi JavaScript untuk mendapatkan maklumat lanjut tentang fungsi isihan.
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan 2D mengikut Nilai Lajur dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!