JavaScript で forEach ループを続行する

Shiv Yadav 2023年10月12日
  1. JavaScript で forEach ループを続行する
  2. まとめ
JavaScript で forEach ループを続行する

このチュートリアルでは、JavaScript で forEach ループを続行する方法を説明します。

JavaScript で forEach ループを続行する

forEach ループは、配列内のすべての項目に対してカスタム コールバック関数を実行する JavaScript 配列メソッドです。 forEach ループを利用できるのは配列だけです。

forEach ループの例から始めましょう:

5 から 10 個の数値を含む数値配列があるとします。 forEach ループを使用してどのように値を出力しますか?

以下のデモを参照してください。

const numb = [5, 6, 7, 8, 9, 10];

numb.forEach((num) => {
  console.log(num);
});

実行コード

出力:

5,6,7,8,9,10

何か他のことをしたいとします。 numb 配列内の偶数のアイテムをスキップしたい。 これをどのように達成しますか?

そのループで、continue を追加します。 ただし、forEach ループで continue を使用すると問題が発生します。

問題から始めましょう:

const numb = [5, 6, 7, 8, 9, 10]

numb.forEach(num => {
  if (num % 2 === 0) {
    continue;
  }
})

実行コード

出力:

Uncaught SyntaxError: Illegal continue statement: no surrounding iteration statement

ご覧のとおり、JavaScript forEach ループ内の continue ステートメントは Uncaught SyntaxError を引き起こします。 したがって、return ステートメントの方が優れた代替手段です。

forEach ループはループというよりも関数のように動作するため、構文エラーが発生しました。 それがあなたがそれを実行し続けることができない理由です。

ただし、forEach ループで continue を使用する必要がある場合は、オプションがあります。 forEach ループを終了するには、return を使用できます。

以下のコードを見てください。

const numb = [5, 6, 7, 8, 9, 10];

numb.forEach((num) => {
  if (num % 2 === 0) {
    return;
  }
  console.log(num);
});

実行コード

出力:

5,7,9

return を使用して必要な出力を取得することもできますが、より効率的な方法があります。 filter() 関数を使用して、不要な値を簡単に削除できます。

例:

const numb = [5, 6, 7, 8, 9, 10];

numb.filter((num) => num % 2 !== 0).forEach((num) => {
  console.log(num);
});

出力:

5,7,9

まとめ

この記事を締めくくるには、forEach ループ内で直接 continue ステートメントを使用することはできません。 代わりに、return ステートメントが理想的なソリューションです。

return ステートメントを使用できない場合は、forEach ループを for または while ループに置き換えて、continue ステートメントを使用する必要があります。

著者: Shiv Yadav
Shiv Yadav avatar Shiv Yadav avatar

Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.

LinkedIn

関連記事 - JavaScript Loop