【发布时间】:2018-07-31 00:12:21
【问题描述】:
我目前正在使用 node.js,我想查找/尝试由存储在数组中的数据组合产生的所有独特可能性。
例子:
// source array
var array = [0,1,2];
// what i need :
0
1
2
00
01
02
10
11
12
20
21
22
000
001
002
etc, up to a configurable length.
我浏览了论坛,并没有找到类似的东西。
我在 npm 上进行了搜索,发现一些库正在做类似的事情,但从来没有我需要的所有可能性。我觉得我的需求与冒泡排序算法非常相似,但我不知道该怎么做。
另外,最好不要同时将整个输出存储在一个变量中,因为我的代码需要处理更大的数组。
此时我错过的任何想法或解决方案都会有所帮助!
编辑:另外,我想不断尝试组合,直到我认为它足够了,例如 500 次尝试或者最后的组合长度为 5。
【问题讨论】:
-
到目前为止你有什么?我们如何提供帮助?
-
对不起,我发的太快了,试图放标签,不小心放了回车...我用foreach循环尝试了几次,最后得到了一个非常类似于气泡的代码排序。但这还不够,因为我需要在某种限制下检查数组的所有可能性(假设在 X 组合之后我们停止,或者组合长度大于 Y)。
-
根据您想要对结果执行的操作,您可能会发现
yield很有帮助。 -
@mbrandau 是的,这似乎非常相似,除了我也会使用字符。我会调查这个帖子,我看的时候没看到。感谢您的帮助!
标签: javascript arrays node.js powerset