长期读者,第一次在这里写作。
我正在试图找出一组未确定的javascript数组的所有可能组合,但似乎找不到太多帮助。
因此,如果您可以想象下拉组(这是最终使用),其中可以有用户定义的任意数量的下拉列表,并且每个下拉列表具有用户也定义的任意数量的可能值。 (一次只能选择每个选项中的一个值。)
以此为例......
var options = [
{
label:"Colors",
values:["red", "green", "blue", "etc"]
},
{
label:"Sizes",
values:["small", "medium", "large", "xl", "etc"]
},
{
label:"styles",
values:["t-shirt", "v-neck", "hoodie", "vest", "etc"]
}
//and any number of options, with any numbers of values
];
现在从那里我需要生成所有可能的结果,从每个选项中选择一个值(如果解决方案可以有一个选项可选或不可用,那么可能会被设置为生成所有可能的组合,包括如果只选择了一个值。)
所以我希望找到像
这样的解决方案function combinations(options, option_optional){
}
只有唯一的组合,那么我可以建立一个像这样的列表
如果选项是可选的:
[
["red"],
["red", "large"],
["red", "large", "tshirt"],
["large"],
["large", "t-shirt"]
等...
或者必须选择所有选项:
[
["red", "large", "t-shirt"],
["red", "medium", "t-shirt"],
等
我尝试了其他解决方案,但只能找到能够回馈所有可能组合的解决方案。
任何帮助都表示赞赏,如果您更喜欢使用jquery的$ .each for循环,那也没关系。提前谢谢!
答案 0 :(得分:1)
几个月后再次回到这个问题后,我在这里找到了问题的答案: https://stackoverflow.com/questions/4796678/javascript-golf-cartesian-product?lq=1