在JavaScript中有任何类似的“python生成器”吗?
当我们需要做一次时,迭代一个大的数组,哈希.
生成器是可迭代的,但是只能读取一次__。这是因为它们没有将所有值存储在内存中,而是动态地生成__值
(Python的生成器在以下线程中解释:在Python中,“产生”关键字是做什么的? )
发布于 2012-06-23 03:13:07
发布于 2012-06-23 03:56:20
这并不是非常实用,但您可以实现如下相同的基本效果:
function make_generator(start, end) {
var i=start;
return function() {
if (i<end) {
output = i;
i += 1;
return output;
}
else {
return null;
}
}
}
var out = document.getElementById('out');
var generator = make_generator(1,10);
var g = generator();
while (g) {
if (out.innerHTML)
out.innerHTML = out.innerHTML + '<br>' + g;
else
out.innerHTML = g;
g = generator();
}
发布于 2012-06-23 03:14:25
在JavaScript 1.7中:
function rangeGen(n) {
for (let i = 0; i < n; i++)
yield i;
}
https://stackoverflow.com/questions/11166483
复制相似问题