Iterator.prototype.toArray()
        
        
          
                Baseline
                
                  2025
                
                
              
        
        Newly available
        
          
                
              
                
              
                
              
        
        
      
      Since March 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
toArray() は Iterator インスタンスのメソッドで、このイテレーターから取り出される要素で新しい Array インスタンスを作成します。
構文
js
toArray()
引数
なし。
返値
このイテレーターから取り出され要素を取り出された順に持つ、新しい Array インスタンスです。
例
>toArray() の使用
iterator.toArray() は、 Array.from(iterator) および [...iterator] と同等ですが、複数のイテレーターヘルパーメソッドが関与する場合に、連結が容易になるという点が異なります。次の例では、フィボナッチ数列の項を生成するイテレーターを作成し、最初の10項を取り出し、奇数をフィルターで除外し、結果を配列に変換します。
js
function* fibonacci() {
  let current = 1;
  let next = 1;
  while (true) {
    yield current;
    [current, next] = [next, current + next];
  }
}
const array = fibonacci()
  .take(10)
  .filter((x) => x % 2 === 0)
  .toArray();
console.log(array); // [2, 8, 34]
なお、 toArray() は処理の最後のステップとして呼び出すのがよい考えです。例えば、fibonacci().take(10).toArray().filter(...) は効率が悪いです。なぜなら、反復処理ヘルパーは遅延され、一時的な配列の作成を避けるからです。
仕様書
| Specification | 
|---|
| ECMAScript® 2026 Language Specification> # sec-iterator.prototype.toarray>  | 
            
ブラウザーの互換性
Loading…