首頁  >  文章  >  web前端  >  如何在 JavaScript 中按特定列對二維數組進行排序?

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

Linda Hamilton
Linda Hamilton原創
2024-11-20 12:08:12426瀏覽

How do you sort a two-dimensional array by a specific column in JavaScript?

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

按特定列的值對二維數組進行排序是一種常見的編程任務。在 JavaScript 中,這可以使用 sort() 方法來實現,該方法以比較函數作為參數。

範例:按第一列排序

提供的JavaScript程式碼片段示範如何按第一列中的值對二維陣列進行排序:

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;
    }
}

在此範例中,sortFunction 從陣列中取得兩個元素(a 和b)並比較它們的第一個值(a[0] 和b[0])。如果值相等,則函數傳回 0,表示順序應保持不變。如果 a[0] 小於 b[0],則函數傳回 -1,表示 a 應該位於 b 之前。否則,傳回 1,表示 a 應該在 b 之後。

依第二列排序

要以第二列對陣列進行排序,只需將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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn