2016-04-06 18 views
0

私は文の場合は、次のしていると同じであればelse文を使用して:二つの変数

let panoX = 0 
if (pano.x === 0) { 
    panoX = 0 
} else if (pano.x === null) { 
    panoX = 200 
} else { 
    panoX = pano.x 
} 

// This will be sent in a form 
{ 
    x: panoX, 
    y: panoY 
} 

それはpano.xの値に基づいてpanoX設定します。しかし私はpano.yも持っています、それは同じif文を通ります。新しいif文を書く必要なく、pano.yをどうすれば対処できますか?

は(注:0はJavaScriptでfalsyあるので、私はx: pano.x || 200を行うことはできませんので0pano.xを設定することx:200ことになり

+0

コードを入力していないようですが、パノはどこですか? – theblindprophet

+0

だからパノウの条件は何ですか?それは同じですか? pano.y === 0&など? – brk

+0

@ user2181397はい、同じです。 – alex

答えて

3
function panoFix(x){ 
    if (x === 0) return 0; 
    if (x === null) return 200; 
    return x; 
} 

// This will be sent in a form 
{ 
    x: panoFix(pano.x), 
    y: panoFix(pano.y) 
} 

最初の条件は、フォールバックの場合と同じ(冗長であると思われます。。 )、それは、JSに

function panoFix(x) { return x === null ? 200 : x } 
+1

おそらく、 'return(x === null)? 200:x; ' – Nurlan

+0

はい、最初の状態は冗長であるようです。ちょうど質問と同じロジックを保つようにしました。 – Thilo

0

に短縮することができる:

var panoX = 200, panoY = 200; 
if(pano !== null){ 
    panoX = pano.x; 
    panoY = pano.y; 
}