2012-04-20 5 views
1

長時間の読者、ここ初めての作家。Javascript - 値の数が未定義の未定義数に対する置換/組み合わせ

私は、未定義のjavascript配列のすべての可能な組み合わせを見つけようとしていますが、多くの助けを得ているようです。

したがって、ユーザーが定義するドロップダウンの数に制限があり、各ドロップダウンにはユーザーが定義する任意の数の可能な値があるドロップダウンのグループ(これは最終的な使用です)を想像できれば。 (各オプションで1つの値のみを一度に選択することができます。)例として、だから、

...

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 
]; 

今すぐそこから、私はすべての可能な結果を​​生成する必要があり、それぞれから選択された一つの値でオプション(オプションがオプションであるかどうかにかかわらず、ソリューションにオプションがある場合はボーナスラブですので、1つの値だけが選択されている場合を含むすべての組み合わせを生成するように設定することもできます)。

だから私は、オプションがオプションであるならば、私はこれらの

のようなリストを構築することができ、唯一のユニークな組み合わせと

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ループを使用したい場合は、それも問題ありません。前もって感謝します!

+0

[この1](http://snippets.dzone.com/posts/show/3545)素敵でしたが、それは一次元配列でしか機能しませんでした。 –

+0

私もhttp://stackoverflow.com/questions/8822950/creating-combinations-in-javascriptを試しましたが、ソリューションの出力を配列に取り込むのに十分スマートではありません。 –

答えて