Mat*_*ood 6 javascript set ecmascript-6
浏览完整的ES6 兼容性表.刚刚开始Set().
const set = new Set();
set.add('foo');
set.add('baz');
const iterator = set.values();
iterator.next(); // { value: "foo", done: false }
iterator.next(); // { value: "baz", done: false }
Run Code Online (Sandbox Code Playgroud)
是否有可能编写一个类似的方法iterator.next(),但它向后迭代而不是向前(即iterator.previous())?
返回values()一个迭代器对象,并且不可能向后迭代它们,因为 JavaScript 迭代器对象可能是无限的。例如,考虑这个
function * Counter() {
"use strict";
var i = 0;
while (1) {
yield i++;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以使用Counter()和 来创建一个永远不会结束的迭代器。因此,通常情况下,迭代器不能选择向后退。
如果您非常需要像 backIterator 这样的东西,那么您必须维护迭代器生成的值,然后根据调用来回移动next。
| 归档时间: |
|
| 查看次数: |
772 次 |
| 最近记录: |