Tim*_*ton 7 javascript arrays generator
我想从 JavaScript 中的生成器的值创建一个数组.生成器创建一个像这样的动态长度序列
function* sequenceGenerator(minVal, maxVal) {
let currVal = minVal;
while(currVal < maxVal)
yield currVal++;
}
Run Code Online (Sandbox Code Playgroud)
我想将这些值存储在一个数组中,但使用next()直到生成器完成似乎不是最好的方法(并且说实话上看起来很丑).
var it, curr, arr;
it = sequenceGenerator(100, 1000);
curr = it.next();
arr = [];
while(! curr.done){
arr.push(curr.value);
}
Run Code Online (Sandbox Code Playgroud)
我可以以某种方式直接从发生器/内部创建一个数组吗?如果没有,我可以以某种方式避免/隐藏循环吗?也许通过使用map或类似的东西?
提前致谢.
phi*_*ipp 27
一个简短的解决方案可能是
let list = [...sequenceGenerator(min, max)]
Run Code Online (Sandbox Code Playgroud)
有关MDN的文档
Tim*_*ton 13
我发现了另一种方式
var arr = Array.from( sequenceGenerator(min, max) );
Run Code Online (Sandbox Code Playgroud)
也起作用.
| 归档时间: |
|
| 查看次数: |
5762 次 |
| 最近记录: |