2017-07-19 12 views
0

これらの2つのコードを組み合わせる方法はありますか?私はいくつかの変数が0に等しいか、1に等しいか2に等しいか2より大きく5より小さいか5より大きいかどうかをチェックしたいと思います。各変数のコードを書いてください。この可変コードの短縮形は何ですか

 <script> 
    if (NRIRDL==0){ 
XRIRDL=0; 
    } 
else if (NRIRDL == 1){ 
XRIRDL = 1; 
    } 
else if (NRIRDL == 2){ 
    XRIRDL = 1.8; 
} 
else if (NRIRDL > 2 && NRIRDL < 5){ 
    XRIRDL = 0.9 * NRIRDL; 
} 
else { 
    XRIRDL = NRIRDL - 1; 
} 
// code below is the same as code above, but variables are different. 

if (NRIRDR==0){ 
    XRIRDR=0; 
} 
else if (NRIRDR == 1){ 
    XRIRDR = 1; 
} 
else if (NRIRDR == 2){ 
    XRIRDR = 1.8; 
} 
else if (NRIRDR > 2 && NRIRDR < 5){ 
    XRIRDR = 0.9 * NRIRDR; 
} 
else { 
    XRIRDR = NRIRDR - 1; 
} 
    </script> 
+0

のような別の変数に格納できる必要な値を返します。すべての変数のコードはどういう意味ですか? – ja08prat

+0

NRIRDL == 0、NRIRDR == 0、これを行う代わりに、たとえばNRIRDL || NRIRDR == 0? –

答えて

0

は実際に、それはそれをチェックアウトし、三項演算子で、複数のなしに短く書くことができてしまいます。

function getValue(n) { 
 
    return n >= 2 && n < 5 ? n * 0.9 : n == 0 ? 0 : n == 1 ? 1 : n - 1; 
 
} 
 

 
var var1 = 0; 
 
var var2 = 1; 
 
var var3 = 2; 
 
var var4 = 3; 
 
var var5 = 5; 
 
console.log(getValue(var1)); // outputs 0 
 
console.log(getValue(var2)); // outputs 1 
 
console.log(getValue(var3)); // outputs 1.8 
 
console.log(getValue(var4)); // outputs 2.7 
 
console.log(getValue(var5)); // outputs 4

だけgetValue(n)機能を使用する:あなたの変数とそれのwiを渡しますvar XRIRDL = getValue(NRIRDL);またはvar XRIRDR = getValue(NRIRDR);

0
<script> 
    if (NRIRDL==0 || NRIRDR==0){ 
     XRIRDL=0; 
     XRIRDR=0; 
    } 
    else if (NRIRDL == 1 || NRIRDR == 1)){ 
     XRIRDL = 1; 
     XRIRDR = 1; 
    } 
    else if (NRIRDL == 2 || NRIRDR == 2)){ 
     XRIRDL = 1.8; 
     XRIRDR = 1.8; 
    } 
    else if ((NRIRDL > 2 && NRIRDL < 5) || (NRIRDR > 2 && NRIRDR < 5)){ 
     XRIRDL = 0.9 * NRIRDL; 
     XRIRDR = 0.9 * NRIRDR; 
    } 
    else { 
     XRIRDL = NRIRDL - 1; 
     XRIRDR = NRIRDR - 1; 
    } 
</script> 
0

あなたは関数にそれを作ることができます:

function yourFunction(val) { 
    if (val == 0){ 
    return 0; 
    } 
    else if (val == 1){ 
    return 1; 
    } 
    else if (val == 2){ 
    return 1.8; 
    } 
    else if (val > 2 && val < 5){ 
    return 0.9 * val; 
    } 
    else { 
    return val - 1; 
    } 
XRIDR = yourFunction(NRIDR); 
XRIDL = yourFunction(NRIDL); 

あなたOR一緒に2つの入力は、次の2つの入力のうちの1つは、その状態をトリガーかについての貴重な情報が失われた場合。

値を互いに独立して更新することはできないため、マイクの答えが適切でない可能性があります(つまり、NRIDR == 0およびNRIDL == 2の場合、XRIDRとXRIDLの両方が同じでないように思えます1.8。)

0

あなたは関数の中に置くことができます。関数内にコードのコピー貼り付けがあります。

function xrirdr(dr_or_dl){ 
var XRIRDL = null; 
if (dr_or_dl==0){ 
XRIRDL=0; 
    } 
else if (dr_or_dl == 1){ 
XRIRDL = 1; 
    } 
else if (dr_or_dl == 2){ 
    XRIRDL = 1.8; 
} 
else if (dr_or_dl > 2 && dr_or_dl < 5){ 
    XRIRDL = 0.9 * dr_or_dl; 
} 
else { 
    XRIRDL = dr_or_dl - 1; 
} 
return XRIRDL; 
} 

あなたは、関数の中でNRIRDLまたはNRIRDRを渡すことができますし、条件ならば、あなたがあなたのXRIRDL

関連する問題