Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Iterator<T>

Hierarchy

该接口定义了迭代集合的属性和方法。它提供了 next 谓词和 value 只读属性。 一些迭代器还提供 key 属性以及每个 value

典型用法是:

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

如果在修改基础集合之后调用 next 则许多迭代器将发出错误信息

为避免在处理 Iterable 时造成混乱,迭代器仅返回自己即可实现 Iterable.iterator 属性

Type parameters

  • T

Index

Properties

Methods

Properties

Override count : number

此只读属性是迭代集合中的项目总数

Override iterator : Iterator<T>

返回自身,这对于期望使用 Iterable 而不是 Iterator 的代码很方便

key : any

假设 next 刚刚返回true,则获取集合中该项的当前索引

value : T

假设 next 刚刚返回true,则获取集合中的当前项目

Methods

Virtual all

  • all(pred: function(x: T): boolean): boolean
  • 如果对集合项目调用给定函数都为true,则为true

    在集合中的每个项目上调用给定函数,返回false时,将立刻返回false,否则返回true, 对于空集合,它返回true

    调用时会自动 reset 自身

    since

    1.4

    Parameters

    • pred: function(x: T): boolean

      此函数不得有任何副作用

    Returns boolean

    如果所有函数调用为true,则为true,否则为false

Virtual any

  • any(pred: function(x: T): boolean): boolean
  • 如果对任何集合项目调用给定函数为true,则为true

    在集合中的每个项目上调用给定函数,一次调用返回true,则返回true,否则返回false,对于空集合,它返回false

    调用时会自动 reset 自身

    since

    1.4

    Parameters

    • pred: function(x: T): boolean

      此函数不得有任何副作用

    Returns boolean

    如果任何函数调用为true,则为true,否则为false

Virtual each

  • each(func: function(x: T): void): void
  • 在集合中的每个项目上调用给定函数

    调用时会自动 reset 自身

    since

    1.4

    Parameters

    • func: function(x: T): void

      This function must not modify the collection.

    Returns void

    this iterator itself

Override first

  • first(): T | null
  • 如果需要,则前进到集合中的第一项并返回它,如果没有,则返回null

    注意: 这将返回 Map 迭代器的 key/value 对, 而不是 value

    since

    1.1

    Returns T | null

next

  • next(): boolean
  • 调用此方法可将迭代器前进到集合中的下一项。在访问任何 value 之前应该调用此方.

    Returns boolean

    是否有其他项目可用,当 value 为true时,值就是改该项目

reset

  • reset(): void
  • 重新启动改迭代器

    Returns void