所以我正在开发一个项目,我有15个布尔变量,相关的“成本”和其他属性。
我想遍历这15个布尔变量的每个置换(例如全0,全1等),这样我就可以进行进一步的分析了。
我的结果可能是一个所有2 ^ 15 = 32k排列的数组(很好)。让每个元素成为一个字符串可能没问题。
我尝试过搜索解决方案(例如:Permutations in JavaScript?),但这些并不是我想要的。
非常喜欢JavaScript解决方案,虽然我知道在Python中使用像itertools
这样的东西可以执行类似的操作。正如我最初试图破解某些东西一样,我试图想到一个递归解决方案(节拍有15个for循环),但我可以使用一些帮助。
非常感谢!
答案 0 :(得分:0)
我写了一个可以做到这一点的小库。它使用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)
}