HOWTO · JavaScript
JavaScript で forEach ループを続行する
この記事は、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 ステートメントを使用する必要があります。