在JavaScript 中按列值對二維數組進行排序
要在JavaScript 中按列值對二維數組進行排序,您可以使用帶有自訂比較函數的Array.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; } }
sortFunction 比較被比較的兩行的第一個元素(a[0] 和b[0])並傳回如果a 的第一個元素小於b 的第一個元素,則為-1;若大於,則為 1;若相等,則為 0。這定義了排序順序,Array.sort() 方法將相應地排列數組。
要按第二列排序,可以修改排序函數:
a.sort(compareSecondColumn); function compareSecondColumn(a, b) { if (a[1] === b[1]) { return 0; } else { return (a[1] < b[1]) ? -1 : 1; } }
這個函數比較被比較行的第二個元素。使用這些方法,您可以輕鬆地按 JavaScript 中的任何列值對 2D 陣列進行排序。
以上是如何在 JavaScript 中按列值對二維數組進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!