Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mengisih Tatasusunan Dua Dimensi mengikut Nilai Lajur dalam JavaScript?

Bagaimana untuk Mengisih Tatasusunan Dua Dimensi mengikut Nilai Lajur dalam JavaScript?

Mary-Kate Olsen
Lepaskan: 2024-11-21 09:31:13
asal
448 orang telah melayarinya

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

Mengisih Tatasusunan Dua Dimensi mengikut Nilai Lajur dalam JavaScript

Untuk mengisih tatasusunan 2D mengikut nilai lajurnya dalam JavaScript, anda boleh menggunakan kaedah Array.sort() dengan fungsi perbandingan tersuai. Fungsi ini membandingkan elemen dalam lajur yang ditentukan dan menentukan susunan isihan.

Pertimbangkan contoh berikut:

var a = [[12, 'AAA'], [58, 'BBB'], [28, 'CCC'],[18, 'DDD']];
Salin selepas log masuk

Untuk mengisih tatasusunan ini mengikut lajur pertama, anda boleh menggunakan kod berikut :

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

IsihanFunction membandingkan elemen pertama daripada dua baris yang dibandingkan (a[0] dan b[0]) dan mengembalikan -1 jika unsur pertama a adalah kurang daripada unsur pertama b, 1 jika ia lebih besar daripada, dan 0 jika ia sama. Ini mentakrifkan susunan isihan dan kaedah Array.sort() akan menyusun tatasusunan dengan sewajarnya.

Untuk mengisih mengikut lajur kedua, anda boleh mengubah suai fungsi isihan:

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 fungsi membandingkan elemen kedua baris yang dibandingkan. Menggunakan kaedah ini, anda boleh mengisih tatasusunan 2D dengan mudah mengikut mana-mana nilai lajur dalam JavaScript.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih 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