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

Google Apps Script(GAS)で配列を扱っていると、その配列の要素数・長さを知りたい場合があります。

そこで配列の要素数がいくつあるか、配列の長さを確認する方法を解説します。

GASで配列の要素数を確認したい

Google Apps Script(GAS)のスクリプトでは、配列を使って処理を行うことが多いです。

配列はデータを1次元~n次元に格納することができるデータ形式で、2次元配列の場合、表形式のようにデータを管理することができます。

その際に配列の要素数がいくつあるか確認する必要が出てきます。

配列の要素すべてに処理を行ったり集計を行うために、配列の要素数すなわち長さを取得しなければなりません。

lengthプロパティで要素数を取得

Google Apps Script(GAS)での配列の要素数を取得するには、Javascriptなど他のプログラミング言語と同様に、lengthプロパティを使用します。

Array.length;

要素数を取得したい配列に対し「.length」を付けると、その配列の要素数を返してくれます。

なお、lengthはメソッドではなくプロパティのため、引数も不要で括弧()も付ける必要がありません。

配列の要素数を取得するGASサンプルコード

実際にGoogle Apps Script(GAS)で配列の要素数を取得するサンプルコードを紹介します。

果物の名前を格納した1次元配列fruitsに対し、lengthプロパティで要素数を取得して、実行ログに出力するサンプルコードです。

function myFunction() {
//1次元配列を定義
let fruits = ["りんご", "みかん", "いちご"];
//配列の要素を実行ログで確認
console.log(fruits);
//lengthプロパティで配列の要素数を取得する
let fruitsNum = fruits.length;
//配列の要素数で実行ログで確認
console.log(fruitsNum);
}

Google Apps Script(GAS)で配列の要素数(長さ)をlengthプロパティで取得するサンプルコード

配列の要素数がlengthプロパティで取得できていることが実行ログで確認できます。

このようにGASスクリプトでは配列に対し、lengthプロパティで要素数(配列のサイズ)が取得可能です。

forループの処理でlengthを活用

GASの配列の要素数・長さを取得できるlengthプロパティの利用シーンとしては、forループによる繰り返し処理が挙げられます。

forループはあらかじめ設定した回数の処理を繰り返しますが、配列の要素の数だけ処理を行うため、lengthプロパティを指定します。

for(let i=0; i<array.length; i++){

  //配列arrayの要素の数だけ処理を行う

}

forループの判定条件に「配列の要素数よりも小さい場合に処理を行う」として、配列の全要素に処理を行うGASコードを記述します。

スプレッドシートの範囲指定にも便利

配列のlengthプロパティの活用事例として、スプレッドシートとの連携があります。

Google Apps Script(GAS)のスクリプトで処理した2次元配列のデータはスプレッドシートにsetValuesメソッドで書き込むことができます。

Google Apps Script(GAS)入門 スプレッドシートのセル取得・書き込み方法(getValue,setValue)

スプレッドシートにデータを出力するセル範囲をgetRangeメソッドで指定する際に2次元配列のlengthプロパティが便利です。

Spreadsheet.getRange(1, 1, array.length, array[0].length).setValues(array);

第3引数と第4引数にlengthプロパティの数値を指定することで、配列の大きさが変化してもsetValuesが実行できます。

処理するデータによって2次元配列のサイズが変わる場合は、lengthプロパティを活用したgetRangeメソッドでセル範囲を指定しましょう。

まとめ・終わりに

今回、Google Apps Script(GAS)のスクリプトで使用する配列の要素数・長さを取得する方法を紹介しました。

配列の要素数を取得するには、他のプログラミング言語と同様にlengthプロパティを利用します。

要素数を取得したい配列arrayに対し、「array.length」と記述すると要素数を取得できます。

forループで配列の全要素に処理を行いたい場合や、スプレッドシートgetRangeメソッドで2次元配列を書き込むセル範囲を指定する際によく使います。

処理するデータによって配列のサイズが変わる場合に、lengthを使うとエラーしなくて済みます。

配列処理をする際にはlengthプロパティを使うケースが多いので、ぜひ使い方をマスターしましょう。