1

長年の読者、ここで初めての作家。

未決定の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つの値を選択して、すべての可能な結果を​​生成する必要があります(ただし、ソリューションにオプションがあるかどうかにかかわらず、ボーナスが大好きです。したがって、値が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 forループを使うことを好むなら、それも問題ありません。前もって感謝します!

4

1 に答える 1

1

数か月後にこの問題に戻った後、ここで問題の答えを見つけました: https://stackoverflow.com/questions/4796678/javascript-golf-cartesian-product?lq=1

于 2012-07-11T18:14:53.407 に答える