GASでは、for文を使用して反復処理を行うことができます。for文は、指定した条件が満たされている間、一連のステートメント(コードの塊)を繰り返し実行するために使用されます。
for文の一般的な構文|for (初期化式; 条件式; 更新式)
for (初期化式; 条件式; 更新式) {
// 実行するステートメント
}
この構文では、初期化式が最初に実行され、その後、条件式が評価されます。
条件式がtrueである(条件を満たす)場合、実行するステートメントの行(波括弧の中)が実行されます。実行が終了すると、更新式が評価(変数の数値変更など)され、再び条件式が評価されます。
条件式がfalse(条件を満たさない)になるまで、このプロセスが繰り返されます。
for文の具体的な使い方
具体的な例を見てみましょう。以下のコードは、1から5までの数字を順に出力する例です。
function myPractice() {
for (var i = 1; i <= 5; i++) {
Logger.log(i);
}
}
ログ
1.0
2.0
3.0
4.0
5.0
この場合、変数i
は初期化式var i = 1
で1に初期化されます。
条件式i <= 5
がtrueの間、Logger.log(i)
が実行され、ログに1から5までの数字が出力されます。
更新式i++
により、i
の値が1ずつ増加します。
for文の中で別のfor文を使用する(ネストされたfor文)
GASのfor文の中で別のfor文を使用することは可能です。これを「ネストされたfor文」と呼びます。ネストされたfor文は、より複雑な反復処理を実現するために使用されます。
以下の例を見てみましょう。
function myPractice() {
//3回ループを実行する
for (var i = 1; i <= 3; i++) {
Logger.log("Outer loop: " + i);
//2回ループを実行する
for (var j = 1; j <= 2; j++) {
Logger.log("Inner loop: " + j);
}
}
}
実行結果は以下のようになります。
ログ
Outer loop: 1
Inner loop: 1
Inner loop: 2
Outer loop: 2
Inner loop: 1
Inner loop: 2
Outer loop: 3
Inner loop: 1
Inner loop: 2
この結果を見ると、外側のループが1から3まで3回繰り返され、内側のループが各外側のループごとに1から2まで2回繰り返されていることが分かります。
このように、ネストされたfor文を使用することで、複数のレベルの反復処理を行うことができます。
ただし、ネストされたループが多くなると、処理が複雑になり、実行時間が増える可能性があります。必要に応じて、ループのネストを最小限に抑えるか、他のアプローチを検討しましょう。
まとめ
以上がGASにおけるfor文の基本的な使い方です。
このfor文法を使用して、反復処理を行うためのコードを作成することができます。