読み方 : フォーイーチぶん

forEach文【forEach statement】

概要

forEach文とは、配列コレクションの各要素に対して順番に同じ処理を繰り返し実行するための構文またはメソッド添字を管理するコードを省略し、簡潔な記法で反復処理を記述でき、様々なプログラミング言語で提供されている。
forEach文のイメージ画像

通常のfor文では添字(インデックス)を用いて要素にアクセスするのに対し、forEach文は集合に含まれる各要素そのものを直接扱う形で処理を記述する。多くのプログラミング言語では高階関数の一種として提供され、処理内容を関数やラムダ式として引数に渡すと、その処理を各要素に順に適用してくれる仕組みになっている。

JavaScriptでは配列メソッドとして実装されており、array.forEach( function( element ) { ... } ) または array.forEach( ( element ) => { ... } ) のようにコールバック関数を渡して使う。コールバックには要素の値、添字、元の配列の3つが引数として渡される。たとえば [1, 2, 3].forEach( (n) => console.log(n) )と書くと、「1」「2」「3」が順に表示される。

JavaではListやSetなどのコレクションクラスがforEach文メソッドを持っており、ラムダ式と組み合わせて list.forEach( item -> System.out.println(item) ) のように記述する。Java 5以降では拡張for文(for-each文)として for( String s : list ) { ... } という構文も使えるが、これも同様の反復処理を行う。Kotlinでは for( item in list ) や .forEach { } という構文が使われる。

forEach文では反復の開始や終了条件を明示的に記述する必要がなく、対象集合の全要素に対して処理が適用される。反復の途中で処理を中断する制御は標準のfor文と異なり制限される場合があり、言語によってはbreak文continue文が使用できないことがある。条件に応じた早期終了が必要な場合には別の構文が選択される。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。