JavaScript - 配列のソート

JavaScript の配列のソートに関する記事をまとめています。

配列のソート

  • 配列のソート 数値を昇順・降順にする
  • 配列内の数値を昇順・降順にソート(並び替え)する方法を紹介します。sort() メソッドに引数として比較関数を指定することで、数値のソートが簡単に実現できます。

  • 配列のソート 文字列を並び替える
  • 配列内の文字列を昇順・降順にソート(並び替え)する方法を紹介します。sort() メソッドを使うことで、文字列としてアルファベット順にソートできます。あわせて、アルファベットの大文字・小文字を区別せずにソートする方法も紹介します。

  • 配列のソート 日付を並び替える
  • 配列内の日付を昇順・降順にソート(並び替え)する方法を紹介します。sort() メソッドに引数として比較関数を指定することで、 日付のソートが実現できます。


  • 2次元配列のソート
  • 2次元配列を特定の列でソートする方法を紹介します。比較関数内で「ソートしたい列のインデックス」を指定することにより、2次元配列をソートできます。

  • オブジェクトの配列をソートする
  • オブジェクト(連想配列)の配列をソートする場合は、sort() メソッドを使って、並べ替えたいキーを指定します。普通の配列とほとんど同じような間隔で簡単にソートできます。

  • 配列を複数のキーでソートする
  • 配列をソートする場合、1つのキーだけでなく、複数のキーでソートすることができます。ここでは2次元配列を例に、複数のキーで配列をソートする(並べ替える)方法を紹介します。


  • 配列をランダムソート(シャッフル)する
  • 配列をランダムソート(シャッフル)する方法を紹介します。配列をランダムソート(シャッフル)する方法はいくつかありますが、「Fisher–Yates Shuffle」を参考にしてJavaScriipt 用関数を作ってみました。

  • 配列のソート 同じ値の場合は入れ替わる?
  • sort() メソッドで配列をソートする場合、「同じ値」の順番はどうなるのでしょうか?MDNのマニュアルには「同じ序列を持つ値の順番が保証されません」と記載されています。ここでは、「同じ値」を考慮した比較関数の書き方を紹介します。

関連情報