Google Apps Script

Google Apps Scriptで二次元配列を日付順に並べ替える方法

Google Apps Scriptで二次元配列を日付順に並べ替える方法のサムネイル
あるWebサイトからデータを取得していたのだけれど、なぜか日付順に並ばなくなりました。
そこで、データを取得してから並べ替えることに。
Google Apps Scriptで配列を並べ替える方法は以前調べたのだけれど、日付はその方法だとうまくいきません。
じゃあ、どうするか?が今回のテーマです。

 

日付順に並べ替えるには?

「JavaScript」の書き方がそのまま使えて、「ソート順を定義した関数」で参照する値を「new Date」で日付に変換するとできます。
※「new Date」の「D」だけは大文字じゃないと動きません。

function SortTwoDimensionalArrayByDate() {
  let arr = [['e','2020-8-31'],['c','2020-8-1'],['a','2020-8-20'],['d','2020-8-10'],['b','2020-8-30']];
 
  arr.sort(function(a, b) {return new Date(a[1]) - new Date(b[1]);} );
 
  console.log(arr);
}
 
// ⇒ 結果 [ [ 'c', '2020-8-1' ], [ 'd', '2020-8-10' ], [ 'a', '2020-8-20' ], [ 'b', '2020-8-30' ], [ 'e', '2020-8-31' ] ]

降順に並べ替えたいときは、
「new Date(a[1]) - new Date(b[1])」を、
「new Date(b[1]) - new Date(a[1])」と、
aとbを入れ替えればOKです。

その他の書き方はこちらをご覧ください。

 

まとめ

ほんのちょっとの工夫で日付順に並べ替えることができました。
プログラムは知っているか知らないかだけで結果が大きく変わってくるので、調べることが大事だと改めて感じます。

-Google Apps Script
-, , , , , , ,