Iterator Pattern

Iterator Pattern provides a universal interface for accessing internal elements of an aggregate without exposing the underlying data structure. A typical iterator contains the following methods or getters:

  • first(): moves the cursor to the first element in the aggregates
  • next(): moves the cursor to the next element
  • end: a getter that returns a Boolean indicates whether the cursor is at the end
  • item: a getter that returns the element at the position of the current cursor
  • index: a getter that returns the index of the element at the current cursor

Iterators for aggregates with different interfaces or underlying structures usually end with different implementations as shown in the following figure:

Though the client does not have to worry ...

Get TypeScript Design Patterns now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.