continueを使ったループのスキップ処理とその応用をわかりやすく解説

スポンサーリンク
スポンサーリンク

continueの概要

ループのスキップ処理 JavaScript予約語

continue

概要 continueは、JavaScriptのループ処理において、現在の反復を終了し、次の反復に進むために使用されるキーワードです。

わかりやすく説明 continueは「この回は飛ばして次に行こう」という指示を出すための仕組みです。

  • 現在のループを途中で終了し、次のループ処理に移行します。
  • ループ内で特定の条件に一致した場合に処理をスキップできます。
  • forループやwhileループで使用されます。

continueの基本的な使い方

以下は、continueを使用した基本的な例です。

// 偶数をスキップする例
for (let i = 0; i < 10; i++) {
    if (i % 2 === 0) {
        continue; // 偶数の場合はスキップ
    }
    console.log(i); // 奇数のみ出力
}

// 出力: 1, 3, 5, 7, 9
  • if文で条件を指定し、その条件に一致した場合はcontinueで処理をスキップします。
  • スキップ後、ループの次回の反復が開始されます。

応用例: 配列要素のフィルタリング

特定の条件を満たす配列要素をスキップしながら処理を行う例を示します。

// 負の値をスキップして配列を処理
const numbers = [10, -5, 20, -3, 30];

for (let i = 0; i < numbers.length; i++) {
    if (numbers[i] < 0) {
        continue; // 負の値はスキップ
    }
    console.log(`正の値: ${numbers[i]}`);
}

// 出力:
// 正の値: 10
// 正の値: 20
// 正の値: 30
  • 配列内の値を順に処理し、条件に一致した要素をスキップします。
  • 指定条件以外の要素に対して処理を実行できます。

whileループでの使用例

whileループ内でcontinueを使用すると、特定の条件を満たした場合に次回の反復に進むことができます。

// 5をスキップしてループ処理
let i = 0;

while (i < 10) {
    i++;
    if (i === 5) {
        continue; // 5の場合はスキップ
    }
    console.log(i);
}

// 出力: 1, 2, 3, 4, 6, 7, 8, 9, 10
  • whileループでもcontinueを使用してスキップ処理を実現できます。
  • カウンター変数を適切に更新しないと無限ループになる可能性があるので注意が必要です。

注意点

  • 無限ループを避ける: continueでループの一部をスキップする際に、カウンター変数の更新が漏れないように注意してください。
  • 可読性に配慮: continueを多用すると、処理フローが複雑になり、コードの可読性が低下することがあります。
  • breakとの違い: continueは現在の反復のみをスキップし、breakはループ全体を終了します。

よくある質問

Q: continuebreakの違いは何ですか?
A: continueは現在の反復をスキップして次の反復に進みます。一方、breakはループ全体を終了します。
Q: 配列操作にcontinueを使用する場合の注意点は?
A: 配列のインデックスを変更する操作を伴う場合、スキップ後の処理が意図しない結果になる可能性があるため注意が必要です。
Q: continueを使うとパフォーマンスが向上しますか?
A: continueはスキップ処理に適していますが、処理自体を高速化するわけではありません。コードの可読性と意図に基づいて使用してください。

まとめ

continueは、JavaScriptでループの現在の反復をスキップし、次回の反復に移るための便利なキーワードです。

  • 条件に応じてループ処理を柔軟に制御できます。
  • forループやwhileループで効果的に使用できます。
  • 無限ループを防ぎ、可読性の高いコードを心がけて使用しましょう。