という変数がとなっていて、その値としてAPIから数値を取得しているとします。値は0から1の間であり、私は以下のようにif文の束を使ってこの値に応じて2つの他の変数を設定しています。文がまで特定の間隔をチェックする場合は、実際の実装では if文のこの束をどのようにリファクタリングできますか?
var incomingValue; // Set by an API var setValueName; var setValueIcon; if (incomingValue < 0.10) { setValueName = 'something'; setValueIcon = 'something.png' } if (incomingValue > 0.09 && incomingValue < 0.20) { setValueName = 'somethingElse'; setValueIcon = 'somethingElse.png'; }
、私は周りに10を持っています。例えば、。 0.10以上0.16未満の場合はこれを実行します。 JavaScriptの初心者であれば、これは仕事が終わっても正しいやり方ではないように感じます。このコードをどのようにリファクタリングしますか?
更新:リクエストに応じて、元のコードで使用されている完全な間隔を追加します。私は間隔が特定のパターンに従わないので、前に完全なリストを含めなかった。
- 0から0.09
- 0.09 0.20から
- 0.20 0.38から
- 0.38 0.48から
- 0.48 0.52から
- 0.52 0.62から
- 0.61 0.80
- 0.80 〜1
「if ... else if」.. if(x <0.10)... else if(x <0.20)... else ifこれは、データ駆動型にリファクタリングすることができます。 (x <0.30) 'など –
*どの特定の間隔?ソリューションにとって重要です。あなたの全体と実際のコードを投稿してください。 – Bergi
あなたの現在のコードを見ると... 'incomingValue'が' 0.095'のようなときにどうなると思いますか? –