各サブ配列の最初の要素を使用して、次の配列をソートしたいと思います。
lst = [[1, 2], [5, 4], [4, 9], [9, 1], [2,2]]
このリストを次のように並べ替えたいと思います。
srt_lst = [[1, 2], [2,2], [4, 9], [5, 4], [9, 1]];
純粋なJavaScriptでこれを行うにはどうすればよいですか? (外部ライブラリ、アンダースコアなどはありませんか?)
各サブ配列の最初の要素を使用して、次の配列をソートしたいと思います。
lst = [[1, 2], [5, 4], [4, 9], [9, 1], [2,2]]
このリストを次のように並べ替えたいと思います。
srt_lst = [[1, 2], [2,2], [4, 9], [5, 4], [9, 1]];
純粋なJavaScriptでこれを行うにはどうすればよいですか? (外部ライブラリ、アンダースコアなどはありませんか?)
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
配列をそのまま元の順序で保持する必要がある場合は、覚えておく価値があり、作成する必要がある場合があります。ソート操作を実行する前のクローン。