# Interface Iterator<T>

GoJS® Diagramming Components
version 3.0.5
by Northwoods Software®

#### Hierarchy

- Iterable<T>
  - Iterator

This interface defines properties and methods for iterating over a collection; it provides the next predicate and the value read-only property. Some Iterators also provide `key` property values along with each `value`.

Typical usage is:

     const it = anIterableCollection.iterator;
     while (it.next()) {
       const item = it.value;
     }

Many iterators will signal an error if next is called after the underlying collection has been modified.

To avoid confusion when dealing with Iterables, iterators implement the Iterable.iterator property by just returning themselves.

#### Type Parameters

- #### T

#####
Index

### Methods

all
any
each
first
next
reset

### Properties

count
iterator
key
value

#####
Inherited Index

### Methods

Iterable.[iterator]

## Methods

### all

- all(pred: ((x: T) => boolean)): boolean

- This is true if all invocations of the given predicate on items in the collection are true.

  Call the given predicate on each item in the collection. As soon as a call returns false, this returns false. Otherwise this returns true. For an empty collection this returns true.

  This automatically reset's itself when it is called.

  #### Parameters

  - ##### pred: ((x: T) => boolean)

    This function must not have any side-effects.

    - - (x: T): boolean

      - #### Parameters

        - ##### x: T

        #### Returns boolean

  True if all predicate calls are true; false otherwise.

### any

- any(pred: ((x: T) => boolean)): boolean

- This is true if any invocation of the given predicate on items in the collection is true.

  Call the given predicate on each item in the collection. As soon as a call returns true, this returns true. Otherwise this returns false. For an empty collection this returns false.

  This automatically reset's itself when it is called.

  #### Parameters

  - ##### pred: ((x: T) => boolean)

    This function must not have any side-effects.

    - - (x: T): boolean

      - #### Parameters

        - ##### x: T

        #### Returns boolean

  True if any predicate call is true; false otherwise.

### each

- each(func: ((x: T) => void)): void

- Call the given function on each item in the collection.

  This automatically reset's itself when it is called.

  #### Parameters

  - ##### func: ((x: T) => void)

    This function must not modify the collection.

    - - (x: T): void

      - #### Parameters

        - ##### x: T

        #### Returns void

  this iterator itself

### `Override` first

- first(): T

- Advance if needed to the first item in the collection and return it, or return null if there is none.

  Caution: this returns a key/value pair, not a value, for Map iterators.

  #### Returns T

### next

- next(): boolean

- Call this method to advance the iterator to the next item in the collection. This should be called before accessing any value.

  #### Returns boolean

  whether another item is available; when true the value of value will be that item.

### reset

- reset(): void

- Start this iterator all over again.

  #### Returns void

## Properties

### `Readonly` count
: number

This read-only property is the total number of items in the iterated collection.

### iterator
: Iterator<T>

Returns itself, which is convenient for code that expects an Iterable instead of an Iterator.

### `Readonly` key
: any

Gets the current index to the item in the collection, assuming next has just returned true.

### `Readonly` value
: T

Gets the current item in the collection, assuming next has just returned true.

Copyright © 1998-2024 by Northwoods Software Corporation.