Newly available 主要ブラウザの最新版で対応済み。古いブラウザが対象外なら使用可能。

概要

Iterator helpers は .map(), .filter(), .take(), .drop(), .flatMap(), .reduce(), .toArray() などのメソッドをイテレータに追加します。遅延評価により、大量データ処理でもメモリ効率が良好です。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
122
122
131
18.4
122
18.4
ビルトインオブジェクト

drop() は Iterator インスタンスのメソッドで、新しいイテレーターヘルパーオブジェクトを返します。これは、このイテレーターの開始位置から指定した数の要素を読み飛ばします。

122
122
131
18.4
122
18.4

every() は Iterator インスタンスのメソッドで、 Array.prototype.every() と似ています。このイテレーターによって生成されたすべての要素が、指定された関数によって実装された試験に合格するかどうかを確認します。論理値を返します。

122
122
131
18.4
122
18.4

filter() は Iterator インスタンスのメソッドで、新しいイテレーターヘルパーオブジェクトを返します。このオブジェクトは、提供されたコールバック関数が true を返すイテレーターの要素のみを返します。

122
122
131
18.4
122
18.4

find() は Iterator インスタンスのメソッドで、 Array.prototype.find() に似ています。イテレーターが生成する要素のうち、指定された試験関数を満たす最初のものを返します。試験関数を満たす値がない場合は、 undefined を返します。

122
122
131
18.4
122
18.4

flatMap() は Iterator インスタンスのメソッドで、新しいイテレーターヘルパーオブジェクトを返します。これは元のイテレーターのそれぞれの要素を取り、それをマッピング関数によって走査し、マッピング関数から返される(他のイテレーターや反復可能オブジェクトに含まれている)要素を返します。

122
122
131
18.4
122
18.4

forEach() は Iterator インスタンスのメソッドで、 Array.prototype.forEach() と似ています。指定された関数を、イテレーターによって生成されたそれぞれの要素に対して 1 回ずつ指定された関数を実行します。

122
122
131
18.4
122
18.4

Iterator.from() は静的メソッドで、イテレーターや反復可能オブジェクトから新しい Iterator オブジェクトを作成します。

122
122
131
18.4
122
18.4

map() は Iterator インスタンスのメソッドで、マッピング関数によってそれぞれ変換されたイテレーターの要素を生成する新しいイテレーターヘルパーオブジェクトを返します。

122
122
131
18.4
122
18.4

reduce() は Iterator インスタンスのメソッドで、 Array.prototype.reduce と似ています。イテレーターによって生成されたそれぞれの要素に対して、ユーザーが指定した「縮約」コールバック関数を実行し、前の要素の計算結果を返値として渡します。すべての要素に対して縮約を実行した最終結果は、単一の値となります。

122
122
131
18.4
122
18.4

some() は Iterator インスタンスのメソッドで、 Array.prototype.some() と似ています。これは、イテレーターによって生成された要素の少なくとも 1 つが、指定された関数で実装されている検査に合格しているかどうかを判定します。論理値を返します。

122
122
131
18.4
122
18.4

take() は Iterator インスタンスのメソッドで、このイテレーター内で指定された数の要素を生成し、その後終了する新しいイテレーターヘルパーオブジェクトを返します。

122
122
131
18.4
122
18.4

toArray() は Iterator インスタンスのメソッドで、このイテレーターから取り出される要素で新しい Array インスタンスを作成します。

122
122
131
18.4
122
18.4
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (119)

基本構文

JAVASCRIPT
function* naturals() {
  let n = 1;
  while (true) yield n++;
}

// The first 5 even numbers from 1 to 100
const result = naturals()
  .filter(n => n % 2 === 0)
  .take(5)
  .toArray();
// [2, 4, 6, 8, 10]

ライブデモ

limitedread with take

nonegenerator from first. 5. Elementonly getout..

プレビュー全画面表示

Filter and map. -n

itere-ta to directlyfilterring and mapping apply..

プレビュー全画面表示

skip with drop

first. 3. Element,. Element read..

プレビュー全画面表示

実務での使いどころ

  • Iterator methods の活用

    イテレータに map・filter・take・drop 等のメソッドを追加。配列に変換せずに遅延評価でデータを処理可能。

注意点

  • 古いブラウザ(IE等)では対応していない。対象ブラウザを確認すること。

アクセシビリティ

  • JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。

Powered by web-features