2016-11-17 7 views
2

3つの条件をチェックし、条件に応じて変数に値を割り当てる必要があります。?で複数の条件を使用する:javascript内のステートメント

if(a =="z1"){ 
    b = "one"; 
} else if(a =="z2"){ 
    b = "two"; 
} else if(a =="z3"){ 
    b = "three"; 
} 

それは使用してJavaScriptでそれを行うことは可能ですか? :単一行コードにするステートメント

+1

___Java == JavaScript___ – Rayon

+0

'B = [ '1'、 '2'、 '3'] [1] -1- ] ' –

答えて

4

はい、それをConditional(ternary) operatorに変換することができます。 FYI

var a = "z3"; 
 
var b = a == "z1" ? "one" : a == "z2" ? "two" : a == "z3" ? "three" : "" ; 
 

 
console.log(b);


:読みやすくするために、私は if...elseステートメントを使用することをお勧めまたは switchステートメントを使用します。複雑な操作の場合の問題を避けるために、ネストされた3項演算子には括弧を使用する必要があります。

+1

しかし、あなたはすべきではありません! – Rayon

+0

@レイヨン:どうしてですか? –

+0

1)不必要2)読み込み不能3)従来の「if-else」条件よりも利点がありません... – Rayon

1
var b = (a =="z1") ? "one" : ((a =="z2") ?"two":(a =="z3")?"three":null); 

は、それはすぐにこれを読むために読むためには難しいということを忘れないでください。 elseブロックのために使用するのはかなり大丈夫です。

1

あなたはこのことを行うことができます:???

B =(== "Z1" "1" :(== "Z2" "2" :(== "Z3"」3 「:!)))未定義

1
var b = a == "z1" ? "one" : (a == "z2" ? "two" : (a == "z3" ? "three" : undefined)) ; 

a = "z1" 
 

 
alert(a == "z1" ? "one" : (a == "z2" ? "two" : (a == "z3" ? "three" : undefined))); 
 

 
a = "z2" 
 

 
alert(a == "z1" ? "one" : (a == "z2" ? "two" : (a == "z3" ? "three" : undefined))); 
 

 
a = "z3" 
 

 
alert(a == "z1" ? "one" : (a == "z2" ? "two" : (a == "z3" ? "three" : undefined))); 
 

 
a = "z4" 
 

 
alert(a == "z1" ? "one" : (a == "z2" ? "two" : (a == "z3" ? "three" : undefined)));

関連する問題