2
私は、選択した要素の種類に応じて複数の要素の可視性を設定する機能を持っています。Javascriptで複数の変数を初期化するエレガントな方法
function setVisibility(type) {
switch (type) {
case 'A':
ctrl.show.1 = true;
ctrl.show.2 = true;
ctrl.show.3 = true;
...
break;
case 'B':
ctrl.show.1 = true;
ctrl.show.3 = true;
ctrl.show.5 = true;
...
break;
case 'C':
ctrl.show.2 = true;
ctrl.show.4 = true;
ctrl.show.6 = true;
...
break;
case 'D':
...
default:
break;
}
それぞれのケースには異なる要素があり、それらの間にはいくつかの要素があります。
function setVisibility(type) {
let cases = {
A = initA,
B = initB,
...
};
cases[type]();
}
function initA(){
ctrl.show = {
1 : true,
2 : true,
3 : true,
...
};
}
しかし、私の質問は、複数の値を初期化するより良い方法はありますか?
あなたがvar cases = {
A: [1, 2, 3],
// ...
};
を表示するには、どの要素を設定するには、配列のオブジェクトを使用することができます
に値を設定する場合の配列を反復処理bucleは次のようになります。 'for(case [type]のうちの1つ){ctrl.show [i] = true; } ' そして期待どおりに動作します。 –