【发布时间】:2017-11-10 10:40:12
【问题描述】:
是否可以访问迭代器的前一个值,例如:
function* gen () {
yield* [0,1,2,3]
}
var it = gen();
it.next().value // 0
it.next().value // 1
it.last().value // would be awesome if this was 0
这完全是一个好奇心问题。我最近一直在玩生成器,想知道是否有人以这种方式使用生成器/迭代器?
如果是这样,我很乐意看到您的解决方案。 (不需要按照上面的语法)-谢谢
【问题讨论】:
-
last是指之前的值吗? -
我的意思是以前的产量...你认为我应该重新格式化代码以使其更清晰吗?
-
你不能。迭代器协议不提供这样的 API。
-
@FelixKling 但是你可以为生成器制作一个包装器;看我的回答。
-
@MichałPerłakowski:当然,人们总是可以实现自己的解决方案 :)
标签: javascript ecmascript-6 iterator generator