【发布时间】:2019-05-12 13:38:23
【问题描述】:
我发布了这个问题:How to generate all possible strings, with all ascii chars, to a certain length
接受的答案有一些非常漂亮的代码,但我在理解它时遇到了一些问题。
本质上,如果我问出来的字符串的长度,它总是和它可以输出的最大长度一样。
我猜是 yield* 确实给我带来了一些问题。
在阅读有关 yield* 时,它确实说它考虑了最终值。
因此,我更改了以下代码,以突出我的问题。
(async function() {
for(const combo of combinations(5)) {
console.log(combo.length + "\t" + combo);
await timer(1);
}
})();
输出如下:
5 !
5 "
5 #
5 $
5 %
5 &
5 '
5 (
5 )
5 *
5 +
5 ,
5 -
5 .
5 /
5 0
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 :
5 ;
即使字符串只有 1 个字符,它仍然声称它是 5 个。
那么,如何从生成器中获取 ACTUAL 值的长度?
【问题讨论】:
标签: javascript node.js ecmascript-6 generator yield