私は複数のフィールドに基づいていくつかのアイテムのステータスを更新する必要があるクライアントAPIを使用してプロジェクトを進めています(現在は3つですが、後で機能を追加すると拡張可能です)。Javascriptで複数の組み合わせを使用する最も良い方法は何ですか?
だから、基本的にそれが持つに似て何か:
var field1 = ['a', 'b', 'c', 'd',...] //there are about 9 values
var field2 = ['i', 'ii', 'iii', 'iv',...] //there are about 11 values
var field3 = [1, 2, 3, 4,...] //there are more than 30 values
有効な流れの例のようになります。
ユーザーは、デフォルトで依存を選択します値i
、とタイプa
の項目を更新値i
の場合は1
の値です。すべてのこのタイプb
の項目の更新をトリガする同じ値i
または別のii
及びi
又は1
又は2
のii
の従属値を有する(すなわち、アイテムa
の子または親である)(それは同じであり得るか、または最後のフィールドの値は全く異なります)。
追加情報:フィールド間の値の
ないすべての可能な組み合わせが実際に可能です。 値a
からfield1
は、例えば、field2
から1と4の間の値の範囲を有し、各field2
の値は、field3
から1と6の間の値の範囲を有する。
私がこれまでに出てきた解決策は、ネストされたswitch
ステートメントを使用することでしたが、これは読めなくなり、エラーコードになりがちな巨大なセクションにつながりました。私がやった
もう一つは、:例えば、オブジェクトリテラルを作成するために
function getItem(value1, value2, value3) {
var firstValues = {
a : function() {
return "a";
}
....
}
var secondValues = {
i : function() {
return "i";
}
....
}
var thirdValues = {
1 : function() {
return "1";
}
....
}
var final = {
Field1 : firstValues[value1](),
Field2 : secondValues[value2](),
Field3 : thirdValues[value3](),
}
return final;
}
だった。しかし、まだすべてが正しいことを確認するために、いくつかのswitch
Sを追加する必要があります。
私がこれにどのように取り組むことができるかについてのお手伝いがあれば幸いです。