-1

各サブ配列の最初の要素を使用して、次の配列をソートしたいと思います。

lst = [[1, 2], [5, 4], [4, 9], [9, 1], [2,2]]

このリストを次のように並べ替えたいと思います。

srt_lst = [[1, 2], [2,2], [4, 9], [5, 4], [9, 1]];

純粋なJavaScriptでこれを行うにはどうすればよいですか? (外部ライブラリ、アンダースコアなどはありませんか?)

4

1 に答える 1

0

Array.sort メソッドは、compare 関数をオプションの引数として取ります。

次のように指定できます。

function compare(a, b) { .... }

したがって、無名関数を使用すると、次のように実行できます。

lst.sort(function(a,b) {
    if (a[0] < b[0]) return -1;
    if (b[0] < a[0]) return 1;

    return 0;
});

注 : sort はソートされた配列を返しますが、メソッドを実行している配列にも作用するため、元のlst配列をそのまま元の順序で保持する必要がある場合は、覚えておく価値があり、作成する必要がある場合があります。ソート操作を実行する前のクローン。

于 2013-10-11T14:34:45.703 に答える