GASの配列の要素の並び順を逆転させる方法(reverseメソッド)
Google Apps Script(GAS)で配列を扱っていると、要素の並びを逆順に並び替えたいことがあります。
そこで、GASの配列の要素を簡単に逆転させる方法を解説します。
GASの配列の要素を逆順に
Google Apps Script(GAS)では、スプレッドシートや各種APIから値を取得する際、よく配列に値を格納します。
値を格納する変数よりも配列の方がデータをforループなどで繰り返し処理できるからです。
APIから値を取得した際に、配列の要素の並び替えたい場合があります。
reverseメソッドで配列要素を逆転
Google Apps Script(GAS)には、配列の要素の順番を逆転するためのメソッドが用意されています。
JavaScriptでも配列のArrayクラスで利用可能なreverseメソッドです。
Array.reverse()
reverseメソッドを実行すると、配列の要素の順番を逆転した配列を取得することができます。
GASの配列要素を逆順にするサンプルコード
実際にGoogle Apps Script(GAS)でreverseメソッドを利用して、配列要素の順番を逆順にするサンプルコードを紹介します。
果物の名前を格納した1次元配列を定義したあと、reverseメソッドを実行して要素の並びを逆転させます。
function myFunction() {
//1次元配列を定義
let fruits = ["りんご", "みかん", "いちご"];
//要素の順番を実行ログで確認
console.log(fruits);
//reverseメソッドで要素を逆順に変更
fruits = fruits.reverse();
//再度、要素の順番を実行ログで確認
console.log(fruits);
}
実行ログで出力される配列の要素の並びが、最初とreverseメソッドを利用した後では逆転していることが分かります。
このようにGASでreverseメソッドを配列で使用すると、要素の順番を逆順に入れ替えることができます。
GASの2次元配列でreverseメソッドで逆転すると?
先程Google Apps Script(GAS)のサンプルコードで紹介したのは、1次元配列をreverseメソッドで要素の順番を逆転させました。
では、2次元配列でもreverseメソッドを使用できるのでしょうか。
実は2次元配列でもreverseメソッドを実行することは可能です。
2次元配列でreverseメソッドを実行すると、1次元目(行方向)に要素の順番が逆順になります。
ただ、2次元目(列方向)の要素については逆転されません。
もし、2次元目の要素順を逆にしたい場合は、1次元目を指定した上で、reverseメソッドを実行します。
例えば、サンプルコードの2次元配列animalで、2番目の並びを逆順にする場合、以下のようにコードを記述します。
animal[1] = animal[1].reverse();
以上から、GASでは2次元配列でもreverseメソッドによる要素の順番を逆転させることが可能です。
スプレッドシートに配列書き込み
Google Apps Script(GAS)で要素の順番を逆順にするメリットとしてはスプレッドシートへの配列書き込みです。
スプレッドシートの複数範囲のセルに値を書き込む場合、setValuesメソッドで2次元配列を指定して書き込みます。
ただ、セルの書き込む位置を逆順にしたい場合、書き込む前に2次元配列で順番を逆転しておけば、あとで変更する手間が不要です。
そうした点から、スプレッドシートで2次元配列を出力する際に、逆順で並べたい場合にreverseメソッドが有用です。
まとめ・終わりに
今回、Google Apps Script(GAS)で配列の要素を逆順に並び替える方法を紹介しました。
そのまま配列要素を逆転させようとすると、forループなどで並び替え処理を実装する必要があります。
しかし、reverseメソッドを利用すれば、1行のコード配列の要素を逆順にすることが可能です。
最終的なアウトプットを元々のデータと順番を逆転させたい場合に、reverseメソッドが便利です。
GASで配列の要素の順番を逆転させたい場合に、今回紹介したreverseメソッドを活用しましょう。
ディスカッション
コメント一覧
まだ、コメントがありません