今回はfor文やwhile文の繰り返し処理の中で使われるcontinueについてまとめました。

continueとは?

continueとは、「ある条件のときだけ、その回の処理をスキップする命令」のことです。
以前のNの勉強日記12で紹介したbreakは「その時点でループ終了」させる命令でした。
それに対してcontinueは「その回だけスキップして次のループに進む」という違いがあります。
(引用:Crebitテキストより)

どんな場面で使われるか?

例1:偶数だけを処理したい場合

for (let i = 1; i <= 5; i=i+1) {
  if (i % 2 == 1) {
    continue;  // 奇数のときはスキップ
  }
  console.log(i);
}


🔵出力結果:
 2
 4

・i が奇数(1, 3, 5)のとき continue により console.log(i) は実行されません。
・偶数(2, 4)のときだけ処理が続行します。


例2:入力のチェックなどに使う(配列の場合)

let words = [“apple”, “banana”, “”, “cherry”, null, “grape”];

for (let i = 0;  i < words.length;  i=i+1) {
  if (!words[i]) {
    console.log(“空の値をスキップします。”);
    continue;    // 無効な値は飛ばす
  }
  console.log(“処理中:”, words[i]);
}

🔵出力結果:
 処理中: apple
 処理中: banana
 空の値をスキップします。
 処理中: cherry
 空の値をスキップします。
 処理中: grape

空文字 “” や null のような「扱いたくないデータ」を簡単にスキップできます。


例3:ネストされたループでも使える

for (let i = 1; i <= 3; i = i+1) {
  for (let j = 1; j <= 3; j = j+1) {
    if (j == 2) continue;    // jが2のときはスキップ
    console.log(“i=”  + i +  “, j=”  + j);
  }
}

🔵出力結果:
 i=1, j=1
 i=1, j=3
 i=2, j=1
 i=2, j=3
 i=3, j=1
 i=3, j=3

j が 2 のときは内側の console.log をスキップし、次の j に進みます。

まとめ

continueは、ある条件のときだけその回の処理をスキップする命令です。
・偶数だけ処理したいとき
・無効な入力を飛ばしたいとき
など、繰り返し処理の中でよく使われます。
breakとの違いを理解して、for文・while文を使いこなしましょう。