JavaScript: 配列のソート 日付を並び替える

JavaScript で配列内の日付を昇順・降順にソート(並び替え)する方法を紹介します。

sort() メソッドに引数として比較関数を指定することで、 日付のソートが実現できます。

日付の「昇順」にソートする

次のサンプルコードは、配列内の日付を「昇順」にソートします。


let arr = ["2018/08/15", "2018/12/10", "2018/01/05"];

arr.sort(function(a, b){
	return (a > b ? 1 : -1);
});

console.log(arr); // Array [ "2018/01/05", "2018/08/15", "2018/12/10" ]

三項演算子を使わない場合

三項演算子を使わずに、if 文で書くと次のようになります。


let arr = ["2018/08/15", "2018/12/10", "2018/01/05"];

arr.sort(function(a, b){
	if (a > b){
		return 1;
	}else {
		return -1;
	}
});

console.log(arr); // Array [ "2018/01/05", "2018/08/15", "2018/12/10" ]

どちらの書き方でも、お好みで。

日付の「降順」にソートする

降順に並べかえる場合は、不等号の向きを逆にします。


let arr = ["2018/08/15", "2018/12/10", "2018/01/05"];

arr.sort(function(a, b){
	return (a < b ? 1 : -1);
});

console.log(arr); // Array [ "2018/12/10", "2018/08/15", "2018/01/05" ]

JavaScript入門