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

Bagaimana untuk Mengisih Tatasusunan 2D dalam JavaScript mengikut Nilai Lajur?

DDD
DDDasal
2024-11-30 11:19:13946semak imbas

How to Sort a 2D Array in JavaScript by Column Value?

Mengisih Tatasusunan 2D mengikut Nilai Lajur dalam JavaScript

Masalah:
Bagaimana saya boleh mengisih tatasusunan 2D dalam JavaScript berdasarkan nilai dalam lajur tertentu?

Kod Coretan:
Untuk mengisih tatasusunan 2D mengikut lajur pertama, gunakan kod berikut:

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:
Kaedah sort() mengisih tatasusunan di tempatnya. Dalam kes ini, kita lulus sortFunction yang membandingkan elemen pertama dua tatasusunan a dan b dan mengembalikan -1 jika a harus didahului sebelum b, 1 jika b harus didahului sebelum a, atau 0 jika mereka sama.

Isih mengikut Lajur Kedua:
Untuk mengisih mengikut lajur kedua, gantikan sortFunction dengan berikut:

function compareSecondColumn(a, b) {
    if (a[1] === b[1]) {
        return 0;
    }
    else {
        return (a[1] < b[1]) ? -1 : 1;
    }
}

Output:
Tatasusunan yang diisih akan kelihatan seperti ini:

[
  [12, 'AAA'],
  [18, 'DDD'],
  [28, 'CCC'],
  [58, 'BBB']
]

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan 2D dalam JavaScript mengikut Nilai Lajur?. 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