Javascriptで配列の中の配列の日付や文字列を並べ替える

Javascriptで配列内の配列の中にある数値をソートして並べ替えたいときにどうすればよいのか。
シンプルなコードで実装可能なので、ここでやり方をご紹介します。

僕の場合、これを活用したのはEコマースの開発のときでした。
受注管理画面で受注日時順にデータを並べたいという状況になり、このコードを使っています。

Javascriptで日付を並べ替え

このような配列があるとします。見ての通り、不規則に並んでいますね。
このデータを日付順にソートします。

box = [['ブドウ', '2018-04-01 12:20:43', '500'], 
       ['イチゴ', '2018-05-01 18:30:01', '650'],
       ['メロン', '2018-04-02 08:54:34', '1800'],
       ['モモ', '2018-05-06 17:17:30', '780']
      ]

昇順にソート

このコードを実行すると、昇順に並べ替えます。

box = box.sort(function(a,b){
    return (a[1] < b[1] ? 1 : -1);
  });

降順にソート

不等号の向きを変えると、降順に並べ替えます

box = box.sort(function(a,b){
    return (a[1] > b[1] ? 1 : -1);
  });

また、文字列も同じコードでソートを実行できます。

実にシンプルなコードですよね。
こんな簡単なコードでデータを並べ替えられるのですから、こういう処理はクライアントサイドに任せてしまったほうがいい。
サーバーの処理を軽減するためにもクライアントにできることはクライアントに投げてしまったほうがいいでしょう。