GAS for文 処理を繰り返す(Google Apps Script)

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文で配列の各値を順に繰り返します。

関連の記事

GAS if文のサンプル(Google Apps Script)

△上に戻る