やまだ

JavaScriptで二次元配列をソートする

投稿日:

更新日:

こんにちは!
学生時代から計算量についての問題から逃げ続けていたのでそろそろ向き合う決心をした、やまだです。

この記事では、JavaScriptで二次元配列をソートする方法のアウトプットです。

まずは、配列の最初の要素をキーとしてソートする方法です。
sortの引数にソート順を定義する比較関数を定義します。

var array = [[6,2,'やまだ'], [3,9,'たなか'], [1,7,'やまざき'], [4,0,'よしだ'], [8,5,'さわべ']]

array.sort((a,b) => {
    return(a[0] - b[0])
})
console.log(array)

[
 [1, 7, "やまざき"],
 [3, 9, "たなか"],
 [4, 0, "よしだ"],
 [6, 2, "やまだ"],
 [8, 5, "さわべ"]
]

次は、配列の2番目の要素をキーにソートしてみます。 先ほどのコードとの違いは、比較関数のブラケット(角括弧)の中身つまり、比較したい配列の番号を入力すれば良いのです!

var array = [[6,2,'やまだ'], [3,9,'たなか'], [1,7,'やまざき'], [4,0,'よしだ'], [8,5,'さわべ']]

array.sort((a,b) => {
    return(a[1] - b[1])
})
console.log(array)

[
 [4, 0, "よしだ"],
 [6, 2, "やまだ"],
 [8, 5, "さわべ"],
 [1, 7, "やまざき"],
 [3, 9, "たなか"]
]

思い通りに出力できましたね!ではまた!