首頁 > web前端 > js教程 > 主體

如何在 JavaScript 中按列值對二維數組進行排序?

Mary-Kate Olsen
發布: 2024-11-17 04:22:03
原創
111 人瀏覽過

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

在JavaScript 中按列值對二維數組進行排序

在本文中,我們將探討如何在JavaScript 中對二維陣列進行排序JavaScript 依特定列值。

問題語句

給定一個表示為數組數組的二維數組,每個子數組包含兩個元素,任務是根據第一列中的值按升序對數組進行排序(索引為0的列)。

解決方案

JavaScript提供了一個方便的方法, sort(),可用於對多維數組進行排序。讓我們分解一下提供的程式碼:

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;
    }
}
登入後複製

說明

  • 對陣列呼叫 sort() 方法。
  • sortFunction 作為參數傳遞給 sort() 方法。此函數比較兩個子數組的第一個元素(a[0] 和 b[0]),並傳回:

    • 0(如果它們相等)。
    • -1(如果 a[) 0] 小於 b[0]。
    • 1 如果a[0] 大於b[0].

預設情況下,sort() 使用傳回值來決定子陣列的順序,按升序對它們進行排序。

按第二列排序

要按第二列排序,可以修改sortFunction 以比較第二列值:

a.sort(compareSecondColumn);

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

這可以根據特定要求靈活地按不同列進行排序。

以上是如何在 JavaScript 中按列值對二維數組進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板