iterable:我可以在.next值后重新开始迭代吗?

时间:2016-06-23 04:52:42

标签: javascript

所以这就是问题

let iterable = ['a', 'b', 'c'];

let iterator = iterable[Symbol.iterator]();
iterator.next(); // { value: 'a', done: false }

我可以从一开始就重新开始迭代,还是必须重新初始化iterator = iterable[Symbol.iterator]()

1 个答案:

答案 0 :(得分:3)

The Iterator interface没有公开任何方法来倒回位置(并不是说通常不是每次迭代都可以重绕),所以答案是“不”。

您必须创建另一个迭代器才能再次获得第一个值。