gpt4 book ai didi

javascript - 在 ES6 中,有 iterator.next();有没有办法提供 iterator.previous()?

转载 作者:数据小太阳 更新时间:2023-10-29 05:25:25 24 4
gpt4 key购买 nike

完整的 ES6 Compatibility table .刚进入 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 }

是否可以编写类似于 iterator.next() 的方法,但它向后迭代而不是向前迭代(即 iterator.previous())?

最佳答案

values() 返回一个迭代器对象,并且不可能向后迭代它们,因为 JavaScript 迭代器对象可能是无限的。例如,考虑这个

function * Counter() {
"use strict";
var i = 0;
while (1) {
yield i++;
}
}

现在,您可以使用 Counter() 创建一个永不结束的迭代器。因此,通常情况下,迭代器不支持倒退。


如果您非常需要像 backIterator 这样的东西,那么您必须维护迭代器产生的值,然后根据 next 调用来回移动。

关于javascript - 在 ES6 中,有 iterator.next();有没有办法提供 iterator.previous()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35921838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com