GAS(Google Apps Script)のfor文で処理を繰り返すサンプルです。
目次
サンプル | for文とは / for文のサンプル / 配列の値を取得 |
ループを抜ける(break) / 2重ループでbreakを使用 | |
ループの先頭に戻る(continue) / 2重ループでcontinueを使用 | |
for...of文 / for...in文 / forEach文 |
for文とは
for (初期化式(1.値を初期化) ; 条件式(2.条件) ; 増減式(3.値を更新)){ 実行される処理 } |
- 処理を繰り返す時に使用します。最初にforを書くのでfor文と呼ばれます。繰り返しはループとも呼ばれます。
- 初期化式は、最初に1回だけ実行されます。
- 使用する変数をカウンター変数またはループ変数といいます。変数名はiやjがよく使用されます。
- 条件式がtrueの間、処理を繰り返します。
- 増減式(3.値を更新)でカウンター変数/ループ変数の値が変わります。
- 条件式がfalseになるとループ処理を終了します。
for文のサンプル
function myFunction() {
for (let i = 0; i < 3; i++) {
console.log(i); // 0 1 2が出力される
}
}
2行目は、初期化式(let i = 0)によりiは0から始まります。
増減式(i++)によりiの値は、1ずつ増えていきます。
条件式(i <3)がtrueの間は処理を繰り返し、iが3になるとfalseになるので終了します。
配列の値を取得
function myFunction() {
const color = ["A", "B", "C"]; // 配列
for (let i = 0; i < color.length; i++) {
console.log(color[i]); // A B Cが出力される
}
}
3行目は、配列です。
5行目のlengthは、配列の長さを返します。
6行目は、変数と添字で配列の値を表示しています。配列の添字は0から始まります。
ループを抜ける(break)
breakでループを抜けるサンプルです。
function myFunction() {
for (let i = 0; i < 3; i++) {
if (i == 1) {
break;
}
console.log(i); // 0が出力される
}
}
5行目のbreakでfor文を抜けます。
2重ループでbreakを使用
function myFunction() {
for (let i = 0; i < 2; i++) {
for (let j = 0; j < 2; j++) {
if (j == 0) {
break;
}
console.log("j=" + j); //出力なし
}
console.log("i=" + i); // i=0 i=1が出力される
}
}
3,4行目にfor文があり2重ループ(入れ子)になっています。
6行目のbreakは、内側のfor文のみ抜けます。
ループの先頭に戻る(continue)
continueでループの先頭に戻るサンプルです。
function myFunction() {
for (let i = 0; i < 3; i++) {
if (i == 1) {
continue; //ループ処理の先頭に戻る
}
console.log(i); // 0 2が出力される
}
}
5行目のcontinueでループ処理の先頭(3行目)に戻ります。0と2が出力されます。
2重ループでcontinueを使用
function myFunction() {
for (let i = 0; i < 2; i++) {
for (let j = 0; j < 2; j++) {
if (j == 0) {
continue;
}
console.log("j=" + j); //j=1 j=1が出力される
}
console.log("i=" + i); // i=0 i=1が出力される
}
}
3,4行目にfor文があり2重ループ(入れ子)になっています。
6行目のcontinueは、内側のfor文の先頭の4行目に戻ります
for...of文
for (変数 of オブジェクト){ 実行される処理 } |
- 上記for文との違いは、変数の値を加算する処理がありません。
- 配列などの要素を順番にアクセスします。
function myFunction() {
const color = ["A", "B", "C"];
for (const c of color) {
console.log(c); //A B Cが出力される
}
}
3行目は、配列です。
5行目は、for...of文で配列の全ての要素にアクセスします。カウンター変数を使用していません。
for...in文
for (変数 in オブジェクト){ 実行される処理 } |
- 変数の値を加算する処理がありません。
- 配列などの要素を順番にアクセスします。
function myFunction() {
const str = { c1: "A", c2: "B", c3: "C" };
for (const c in str) {
console.log(c); //c1 c2 c3
console.log(str[c]); //A B C
}
}
3行目は、連想配列です。
5行目は、for...in文です。連想配列の個数分処理を繰り返します。
6行目は、キーを表示しています。
7行目は、キーに対する値を表示しています。
forEach文
forEach文のサンプルです。
function myFunction() {
const str = ["A", "B", "C"];
str.forEach(function (a) {
console.log(a); //A B C
});
}
3行目は、配列です。
5行目は、forEach文で配列の各値を順に繰り返します。
関連の記事