我的 JavaScript 代码有问题。
如何使该段代码参数化?我的意思是将 10 更改为我可以作为参数传递的变量。
function createGenerator() {
var _state = 0;
return {
next() {
if (_state < 10) {
return { value: _state++ };
} else {
return { done: true };
}
}
}
}
var iterable = {
[Symbol.iterator] : createGenerator
};
for (var f of iterable) {
console.log(f)
}
最佳答案
您可以将其作为参数传递,然后绑定(bind)
您的createGenerator
函数。
即
function createGenerator(num) {
var _state = 0;
return {
next() {
if (_state < num) {
return { value: _state++ };
} else {
return { done: true };
}
}
}
}
var iterable = {
[Symbol.iterator] : createGenerator.bind(this,10)
};
for (var f of iterable) {
console.log(f)
}
关于javascript - Symbol.Iterator - 传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47191193/