javascript forEachで処理を終了する

javascript forEachで処理を終了する

javascriptで、forEachで処理を終了するサンプルコードを記述してます。「forEach」では「break」を使用すると「Uncaught SyntaxError: Illegal break statement」が発生するので処理を途中で停止させるには別の方法を使用します。

環境

  • OS windows11 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 107.0.5304.107

forEachで処理を終了

forEachでは「break」を使用しても処理を終了することができないため、処理中に、
配列のインデックス番号を条件達成時に最大値に変更することにより処理を終了させることができます。

let a = [1, 2, 3, 4, 5]

a.forEach( function (v,i,arr) {

  console.log(v,i)

  if (v > 2) {
    arr.length = i + 1; // 最大インデックス番号を変更する
  }

})

実行結果をみると、値が「2」以上になると処理が終了していることが確認できます。