問題:
JavaScript で 2D 配列を以下に基づいて並べ替えるにはどうすればよいですか?特定の列の値?
コードスニペット:
2D 配列を最初の列でソートするには、次のコードを使用します:
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() メソッドは、配列を配置します。この場合、2 つの配列 a と b の最初の要素を比較し、a が b の前に来る場合は -1、b が a より前に来る場合は 1、それらが等しい場合は 0 を返す sortFunction を渡します。
2 番目の列による並べ替え:
2 番目の列で並べ替えるには、sortFunction を以下:
function compareSecondColumn(a, b) { if (a[1] === b[1]) { return 0; } else { return (a[1] < b[1]) ? -1 : 1; } }
出力:
ソートされた配列は次のようになります:
[ [12, 'AAA'], [18, 'DDD'], [28, 'CCC'], [58, 'BBB'] ]
以上がJavaScript で 2D 配列を列の値で並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。