JavaScriptのforEach内で「continue」や「break」のような動作をさせる方法

配列でループ処理をしたいとき、forEachを使うとかなりラクに実装できます。
ただし、forEach内ではcontinueやbreakが使えません。
今回はその代替となる方法をまとめておきます。
forEachについて
forEachを使うと、配列に含まれる要素を順に取り出してコールバック関数に渡して処理ができます。
let days = ['日', '月' ,'火', '水', '木', '金', '土'];
days.forEach((day, index) =>{
console.log(day);
});これで配列がループされて、コンソールに各配列の値が表示されます。
日
月
火
水
木
金
土continueと同じ動きにする
forEach内でreturnすると、その時点で次のループへスキップされます。
let days = ['日', '月' ,'火', '水', '木', '金', '土'];
days.forEach((day, index) =>{
if(index === 1){
return; // 「月」のみスキップされる
}
console.log(day);
});これで「月」のみスキップされます。
日
火
水
木
金
土ちなみに、returnでもreturn trueでもreturn falseでも関係なくすべて同じ結果になります。
breakと同じ動きにする
breakと同じ動きはforEachではできないため、someを利用します。
使い方はforEachとほとんど変わりませんが、trueを返すとその時点で処理が終了する特性を持っています。
let days = ['日', '月' ,'火', '水', '木', '金', '土'];
days.forEach((day, index) =>{
if(index === 1){
return true; // 「月」の時点で終了する
}
console.log(day);
});これで「月」の時点で終了するので、「日」のみがコンソールに出力されます。
日ただ、someは本来テスト関数として定義されていて本来の使い方とは違いますし、名前からしてループ処理だと判断しにくいのでオススメはしません。
そこまでするくらいだったら素直にforにしてbreakを使った方がよさそうです。

EJSのincludeで別ファイルを読み込むときの画像パスを指定する方法
Visual Studio Codeで「.html」拡張子以外のファイルでもEmmetを使えるようにする
Post Snippetsを使ってWordPressでショートコードをの登録と管理をもっと楽に!!
Google Maps APIでピンをクリックしたときに吹き出しを表示する方法
scpコマンドでターミナル接続先のリモートファイルをローカルにダウンロードする方法
Google Maps APIを使ってGoogle Mapsをウェブサイトに表示させる方法
pointer-eventsプロパティでクリックイベントを無効化にする|気になるCSSプロパティ
W3 Total Cacheをレスポンシブデザインのテーマで使用する時の注意ポイント!!【WordPress】
ウェブサイト上で簡単にWYSIWYGエディタを実装する「TinyMCE」
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Dashでドキュメント機能を無視して、スニペット検索だけする方法
Path Finder 9.3.5のアップデート内容はラベル・タグ周りの修正!そしていつの間にかカラーラベルのカスタマイズが可能に!
データベースの操作がGUIで分かりやすく操作できるSequel Proの最低限の使い方
Visual Studio CodeでToDoコメントを一覧で表示する拡張機能「Todo Tree」
ATOKの使いやすさに直結する「入力・変換」タブの設定項目
Visual Studio Codeで対応する括弧に色を付けて見やすくする環境設定
MacでCPUやメモリ・ネットワークなどの状態をメニューバーに表示させる「iStat Menus」
Macのアプリケーションやウインドウの切り替えまとめ
1PasswordのWatchtowerを使って、脆弱なパスワードを管理する
Spreadsheetのフィルタでソートや絞り込み|自分にだけ影響するフィルタと、閲覧者全員に影響があるフィルタの違い