Bagaimanakah Anda Boleh Isih Tatasusunan Dua Dimensi mengikut Nilai Lajur dalam JavaScript?

Mary-Kate Olsen
Lepaskan: 2024-11-17 04:22:03
asal
112 orang telah melayarinya

How Can You Sort a Two-Dimensional Array by Column Value in JavaScript?

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;
    }
}
Salin selepas log masuk

Penjelasan

  • Kaedah sort() digunakan pada tatasusunan.
  • Fungsi sorting diluluskan sebagai hujah kepada kaedah sort(). Fungsi ini membandingkan dua elemen pertama sub-tatasusunan (a[0] dan b[0]) dan mengembalikan:

    • 0 jika ia sama.
    • -1 jika a[ 0] adalah kurang daripada b[0].
    • 1 jika a[0] lebih besar daripada b[0].

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;
    }
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan