2次元配列を列の値で並べ替えるにはどうすればいいですか? 質問する

2次元配列を列の値で並べ替えるにはどうすればいいですか? 質問する

JavaScript で 2 次元配列をソートするのを手伝ってくれる人はいませんか?

データは次の形式になります。

[12, AAA]
[58, BBB]
[28, CCC]
[18, DDD]

並べ替えると次のようになります。

[12, AAA]
[18, DDD]
[28, CCC]
[58, BBB]

つまり、基本的には最初の列で並べ替えます。

乾杯

ベストアンサー1

とても簡単です:

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

ぜひご招待いたしますドキュメントを読む

2 番目の列で並べ替える場合は、次のようにします。

a.sort(compareSecondColumn);

function compareSecondColumn(a, b) {
    if (a[1] === b[1]) {
        return 0;
    }
    else {
        return (a[1] < b[1]) ? -1 : 1;
    }
}

おすすめ記事