JavaScript: sort() 配列の要素をソートする

このページではJavaScriptでの配列の要素をソートするsort()メソッドについて説明します。

Array.sort()メソッドは、配列の要素をソートする(並べ替える)ときに使用します。

アルファベット順にソート

次のプログラムのように引数の指定がない場合は、アルファベット順でソートします。

var arr = ["b", "c", "a"];

console.log(arr.sort());  // Array [ "a", "b", "c" ]

数値順にソート

数値順にソートする場合は、次のプログラムのようにsort()メソッドの引数に 比較関数を指定します。

var arr = [4, 555, 66];


// 数値順 昇順
arr.sort(function(a,b){return a-b});
console.log(arr);            // [ 4, 66, 555 ]

// 数値順 降順
arr.sort(function(a,b){return b-a});
console.log(arr);             // [ 555, 66, 4 ]

引数として指定している比較関数について簡単に説明すると、 比較関数は引数を2つ取って、その2つを比較します。

1番目の引数を2番目の引数よりも前にしたい場合は、 戻り値を0より小さい値にします。

逆に、1番目の引数を2番目の引数よりも後にしたい場合は、 戻り値を0より大きな値にします。