因此,我正在进行一个项目,其中我有(相当于)15个布尔变量,具有相关的“成本”和其他属性。
我想迭代这15个布尔变量的每个排列(例如,所有的0,所有的1s,等等)。这样我才能做进一步的分析。
我的结果大概是一个数组,所有的2^15 = 32k排列(这很好)。让每个元素都是一个字符串可能是好的。
我已经尝试过寻找解决方案(比如:Permutations in JavaScript?),但是这些并不是我想要的。
我非常喜欢JavaScript解决方案,尽管我知道在Python中使用类似的itertools可以执行类似的操作。当我最初试图破解一些东西时,我试着想出一个递归解决方案(总比有15个for-循环要好),但是我需要一些帮助。
谢谢一堆人!
发布于 2016-12-19 22:46:03
我写了一个能做到这一点的小图书馆。它使用ES2015生成器。
https://github.com/acarl005/generatorics
const G = require('generatorics')
const states = G.baseN([ true, false ], 15)
// get the next iteration with .next() and so on...
console.log(states.next().value)
console.log(states.next().value)
console.log(states.next().value)
// or use a loop
for (let state of states) {
console.log(state)
}https://stackoverflow.com/questions/34031406
复制相似问题