按列值對二維數組進行排序
按特定列的值對二維數組進行排序是一種常見的編程任務。在 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中文網其他相關文章!