GASの配列操作メソッドまとめ(宣言/追加/削除/検索/長さ/逆転/結合)

Google Apps Script(GAS)ではデータ型として配列オブジェクトを用いることが多いです。

Array型の配列には宣言から追加、削除、検索や逆転などの色々なメソッドが用意されています。

そこでGASの配列を操作するさまざまなメソッドをまとめてみました。

GASでは配列を操作するケースが多い

Google Apps Script(GAS)でスクリプトを書く際には、配列を操作して処理するコードを書くことが多いです。

というのもGASの処理は1つのデータを処理するのではなく、複数データをまとめて処理するからです。

データが1つだけであれば、文字列や数値型の変数で処理できます。

しかし、GASによる業務効率化ではたくさんのデータを取得して加工するため、配列の利用が不可欠です。

ただ、配列の各種操作といっても、具体的な操作内容は多岐にわたります。

  1. 配列を宣言・初期化する
  2. 配列の要素を追加・削除する
  3. 配列の要素を検索する
  4. 配列の要素数を取得する
  5. 2つの配列を結合する
  6. 配列の順番を逆転する
  7. 1次元配列⇔2次元配列に変換する

※他にもまだまだ配列の操作メソッドは存在

これまでAutoWorkerのブログ記事でGASの配列について各種操作するメソッドや手順について解説してきました。

そこで、GASの配列操作メソッドの中から利用頻度の高い処理をピックアップして紹介します。

①GASの配列を宣言・初期化

Google Apps Script(GAS)で配列を利用するにはまず、配列変数の宣言や初期化が必要になってきます。

そこで、GASのスクリプトで配列の宣言ならびに初期化の方法を解説しています。

GASの配列の宣言・初期化方法!Arrayと配列リテラルの2種類を解説

GAS配列の宣言としては、Arrayオブジェクトと配列リテラルを使った2種類があります。

また、配列変数を宣言した後に再度初期化するやり方も紹介しています。

②GASの配列の要素を追加

Google Apps Script(GAS)の配列を宣言した際に、配列の要素に値を追加しなければなりません。

GASの配列に要素を追加する方法を記事で解説しています。

GASの配列要素に値を追加する4つの方法(push,unshift,splice,添字)

配列に要素を追加する方法は配列の添字で追加するやり方から3つの要素追加メソッドを使う方法があります。

それぞれの配列追加の特徴と使い分けなどを解説しています。

③GASの配列要素を削除

配列を追加に加えて削除したいケースもあります。

そこで、GASの配列要素を削除する3つのメソッドの使い方を解説しています。

GASの配列要素を削除する3つの方法(pop,splice,shift)

データの並びや追加方法に合わせて、適切な配列要素の削除メソッドを選択しましょう。

④GASの配列の要素数(長さ)を取得

Google Apps Script(GAS)の配列は要素数(長さ)を知りたいケースが多いです。

そこで配列に要素が何個存在しているか確認する方法を解説しています。

GASの配列の要素数(長さ)を取得する方法(lengthプロパティ)

forループで配列のすべての要素に処理を行う場合に、配列の要素数が必要になります。

⑤GASの配列要素を検索

スプレッドシートからデータを配列として取得した際に、配列内に含まれる要素を検索する方法を解説しています。

GASの配列要素を含むか検索するindexOf、includes、lastIndexOfメソッドを解説

配列要素の検索としては、検索文字列に合致した要素の位置を返すindexOf(lastIndexOf)と、検索に合致したかどうかで真偽値(true/false)を返すincludesがあります。

それぞれ検索後にどういった処理をするかで、メソッドを使い分けます。

また、2次元配列の検索を行う方法についても紹介しています。

⑥GASの配列同士を結合

GASの配列の結合方法としては、concatメソッドを使った配列の結合とjoinメソッドを使った配列要素の連結があります。

GASの配列を結合するconcatと連結するjoinメソッドを解説

concatでは引数に指定した複数個の配列を結合して、より大きな配列を生成できます。

また、joinではカンマ区切りや指定した区切り文字で配列要素を結合した文字列を出力可能です。

⑦GASの配列の順番を逆転

Google Apps Script(GAS)で配列の要素を逆順に並び替える方法として、reverseメソッドを使う方法があります。

GASの配列の要素の並び順を逆転させる方法(reverseメソッド)

そのまま配列要素を逆転させようとすると、forループなどで並び替え処理を実装する必要があります。

しかし、reverseメソッドを利用すれば、1行のコード配列の要素を逆順にすることが可能です。

⑧GASの配列で分割代入

Google Apps Script(GAS)の配列要素を複数の変数に一括代入する「分割代入」のやり方を記事で解説しています。

GASの配列を分割代入する方法!2次元配列含め要素を複数変数に一括代入

分割代入を使うと、いちいち変数ごとに配列要素を代入していたのが、1行で一度に代入することができます。

分割代入できるのは1次元配列だけでなく、2次元配列でも可能です。

変数の入れ替えをする場合は非常にスッキリした形でコードを書くことができます。

⑨2次元配列を1次元配列に変換

2次元配列はそのままだとGoogle Apps Script(GAS)で処理が難しいケースがあります。

例えば配列の検索を行うindexOf関数は配列の1次元要素しか適用できません。

そんな場合にGASの2次元配列を1次元配列に変換する方法を解説しています。

GASの2次元配列を1次元配列に変換する方法(flatメソッド)※n次元も

flatメソッドを2次元配列変数で実行すると、1次元配列に変換した結果を得ることができます。

さらに2次元配列だけでなく、3次元配列やn次元配列でも利用可能です。

⑩1次元配列を2次元配列に変換

逆にGoogle Apps Script(GAS)で1次元配列を2次元配列に変換したいケースもあります。

1次元配列を2次元配列に変換するメソッドはないため、変換方法を解説しています。

GASで1次元配列を2次元配列に変換する方法~setValuesでスプレに書き込み

GASではスプレッドシートとの連携して利用しますが、スプレッドシートに一括で値を書き込む場合、2次元配列を引数に指定する必要があります。

そのため、1次元配列の変数をスプレッドシートのセルにsetValuesメソッドで書き込みたい場合は、2次元配列に変換しなければいけません。

前述のflatメソッドと合わせて覚えておくと、配列の次元操作ができるようになります。

まとめ・終わりに

今回、Google Apps Script(GAS)の配列で基本操作となる頻出のメソッドを紹介しました。

複数のデータを扱う際に用いる配列に対して、色々な処理が必要になってきます。

これまでAutoworkerのブログ記事で解説した配列要素の追加や削除、検索・結合・変換といった各種メソッドや処理をまとめています。

GASの配列操作メソッドをマスターすると、わざわざ処理を書かずにコード行数を削減可能です。

ぜひ、GAS配列の基本的な操作メソッドやプロパティを覚えておきましょう。