gpt4 book ai didi

javascript - 如何循环来自生成器的 JavaScript 迭代器?

转载 作者:搜寻专家 更新时间:2023-11-01 05:21:47 24 4
gpt4 key购买 nike

假设我们有以下生成器:

var gen = function* () {
for (var i = 0; i < 10; i++ ) {
yield i;
}
};

遍历迭代器的最有效方法是什么?目前,我通过手动检查 done 属性是否设置为 true 来完成此操作:

var item
, iterator = gen();

while (item = iterator.next(), !item.done) {
console.log( item.value );
}

最佳答案

迭代任何可迭代对象(支持@@iterator 的对象)的最佳方法是使用for..of。 , 像这样

'use strict';

function * gen() {
for (var i = 0; i < 10; i++) {
yield i;
}
}

for (let value of gen()) {
console.log(value);
}

或者,如果你想要一个数组,那么你可以使用 Array.from , 像这样

console.log(Array.from(gen());
// [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

关于javascript - 如何循环来自生成器的 JavaScript 迭代器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34333852/

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