知っておくと便利!GASでループから抜ける方法とコツ
僕、GASでループから抜ける方法がよくわからないんだ。どうしたらいいんだろう?

猫男

catman
任せてくれ、catmanがGASでループを抜ける方法を伝授しよう。
GASでループを抜ける基本
ループは便利だが、時にはループから抜ける必要があることも。
GAS(Google Apps Script)でループをコントロールする方法を見ていこう。
break文でループを抜ける
ループを即座に抜けたいときは、break文が役立つ。以下の例を見てほしい。
function loopBreaker() {
for (var i = 0; i < 10; i++) {
if (i === 5) {
break;
}
Logger.log(i);
}
}
このコードは0から4までの数字をログに出力する。iが5になると、ループを抜ける。
なるほど、条件付きでループを止めることができるんだね!

猫男
continue文を使ってループを続ける
特定の条件でその回のループ処理をスキップしたいときは、continue文を使う。
function loopSkipper() {
for (var i = 0; i < 10; i++) {
if (i % 2 === 0) {
continue;
}
Logger.log(i);
}
}
このコードは奇数のみをログ出力する。continue文によって偶数の処理がスキップされる。
GASでループを抜ける応用〜どこから抜けるか指定する〜
さて、次は応用編だ。
ネストされたループでbreakを使う
ネストされたループ内でbreakを使う場合は、ラベル付きbreakが便利だ。
function nestedLoopBreak() {
outerLoop:
for (var i = 0; i < 3; i++) {
for (var j = 0; j < 3; j++) {
if (i === 1 && j === 1) {
break outerLoop;
}
Logger.log('i: ' + i + ', j: ' + j);
}
}
}
ここでは、ラベル付きのbreakを用いて、特定の条件で外側のループを抜けることを可能にしている。
ラベルを使うと、どこからbreakするか指定できるんですね!

猫男
まとめ:GASでループ制御をマスターしよう
- break文でループを即座に抜ける
- continue文で特定の処理をスキップ
- ネストしたループではラベル付きbreakが使える
これでGASのループ制御が少しわかった気がします!もっと書いて試してみたいです!

猫男

catman
習うより慣れよだ。たくさんのコードを書き、自分のものにしていこう。
練習問題
1. forループを用いて1から10までの数字を出力し、5の倍数のときループを抜けるスクリプトを書いてみよう。
2. forループの中で偶数はスキップし、奇数のみを出力するスクリプトを書いてみよう。
解答・解説
// 問1の解答
function exitOnMultipleOfFive() {
for (var i = 1; i <= 10; i++) {
if (i % 5 === 0) {
break;
}
Logger.log(i);
}
}
// 解説
// break文を用いることで5の倍数になったらループを抜けるようにしています。
// 問2の解答
function skipEvenNumbers() {
for (var i = 1; i <= 10; i++) {
if (i % 2 === 0) {
continue;
}
Logger.log(i);
}
}
// 解説
// continue文を用いて、偶数の処理をスキップし、奇数のみをログ出力しています。
この解答例を実行することで、GASでのループ制御の理解を深めてください。