【ゆったりGAS講座】第4回 繰り返し

GAS Google Apps Script プログラミング プログラミング初心者 GAS講座 GAS

本ページはプロモーションが含まれています。

第3回では条件分岐について学習しました。ご覧になっていない方はぜひご覧ください!

前回の記事

本日の記事はこんな方におすすめ

  • Google Apps ScriptGAS)を勉強し始めて間もない方
  • 繰り返し処理while文for文for…of文for…in文)がどんなものかざっくりと知りたい方

繰り返し

今日は同じ処理を何回も繰り返す場合の構文を学習するよ。

どういうときに使うんですか?

例えば,スプレッドシートの値を上から順番に取得したりするときとかかな。

while文による繰り返し

while文

下記をコピペして実行
function 繰り返し1(){

let count = 0;    //0からスタート

while (count < 5) {  //countが5より小さい間,下記の処理を繰り返す

  console.log(count);   //countの値をログで表示

  count++;      //countに1を追加

}

}

while「~の間」っていう意味だから,条件が一致する間はずっと処理を繰り返すんですか?

そう。だから,処理の最後に「count++」を入れて,countという変数がループごとに1ずつ増えていくようにしているんだ。これがないと処理が永遠にループされてしまうよ。

下記をコピペして実行
function 繰り返し2(){

let count = 0;    //0からスタート

while (count < 5) {  //countが5より小さい間,下記の処理を繰り返す

  console.log(count);   //countの値をログで表示

 }

}

本当だ。キャンセルしないと永遠に処理がループされてしまいます…。

for文による繰り返し

もう1つ繰り返しの処理をするときに使う構文があるよ。それがfor文

while文とは何が違うんですか?

繰り返しの回数が決まっている場合for文を使うんだ。

なんか難しい用語がいっぱい出てきましたね…。

大丈夫,そんなに難しいものじゃないよ!

下記をコピペして実行
function 繰り返し3() {

   for (let i = 1; i <= 10; i++) {

   console.log(i); // カウンタ変数の値を表示

  }

}

上の例だと,カウンタ変数初期化式増減式は次のとおりだよ。

カウンタ変数: i 
初期化式: let i = 1
条件式: i <= 10
増減式:i++

++while文でも出てきましたね!

そうだね。iの値をループごとに1ずつ増やしていくという意味だよ。
逆に,1ずつ減らしていきたい場合i–とするよ。

for…of文

for…of文は,配列文字列などの各要素を順番に取り出して,それを使って何かを行うときに使うよ。

for (変数 of 配列や文字列など){
//ループ内で実行する処理
}

下記をコピペして実行
function 繰り返し4() {

// 配列の例

const colors = ["赤", "青", "黄"];

for (const color of colors) {

    console.log(color); // 配列の各要素が順番にコンソールに表示される

}

// 文字列の例

const message = "Hello";

for (const char of message) {

    console.log(char); // 文字列の各文字が順番にコンソールに表示される

}

}

for…in文

最後はfor…in文について学習するよ。

for…of文とは何が違うんですか?

for…in文は,オブジェクトプロパティ順番を気にせずに取り出して,それぞれに対して何らかの操作を行うときに使うよ。

for (変数 in オブジェクト){
//ループ内で実行する処理
}

下記をコピペして実行
function 繰り返し5() {

const person = {

  name: "John",

  age: 30,

  city: "New York"

};

// personオブジェクトのプロパティを取り出して,定数keyに格納

for (const key in person) {  

  console.log(key + ": " + person[key]);

}
}

ここで,for…of文for…in文について整理しておこう。

for…of文配列文字列順番通りに取り出して繰り返しの処理を行う。
for…in文オブジェクトプロパティ順不同で取り出して繰り返しの処理を行う。

まとめ

繰り返しの処理を行うときは,while文for文for…of文for…in文を使う。
for…of文では,配列文字列順番に取り出して処理を行う。
for…in文では,オブジェクトプロパティ順不同で取り出して処理を行う。

GASを学習するのにおすすめな本

GASの活用例の紹介はこちら!

コメント

タイトルとURLをコピーしました