Iterator methods
Iterator helpers は .map(), .filter(), .take(), .drop(), .flatMap(), .reduce(), .toArray() などのメソッドをイテレータに追加します。遅延評価により、大量データ処理でもメモリ効率が良好です。
概要
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 |
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
- このバージョンで機能が削除されました (119)
基本構文
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] ライブデモ
実務での使いどころ
-
Iterator methods の活用
イテレータに map・filter・take・drop 等のメソッドを追加。配列に変換せずに遅延評価でデータを処理可能。
注意点
- 古いブラウザ(IE等)では対応していない。対象ブラウザを確認すること。
アクセシビリティ
- JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。
参考リンク
Powered by web-features