2014-06-17 234 views
1

我嵌套了if else語句,我在兩個語句中添加了下面的語句,而不是有很多行我正在尋找簡寫它。shortHand if else-if和else語句

任何人都可以幫助我。

在語句1下面的語句:一個& & B和C & & d,A,B,C,C是數組。 在statement2中有一個關鍵字。

語句1:

 if((a && b)!== -1){ 
      abc ="hai" 
     } 
     else if ((c && d)!== -1) { 
      abc="hello" 
     } 
     else{ 
      abc="Hurray" 
     } 

聲明2:

   if(a==="abc"){ 
       if(bb==="def"){ 
        amd ="hello" 
       } 
       else if(bb==="ghi"){ 
        amd ="hai" 
       } 
       else{ 
        amd = "Hurray"; 
       } 
      } 
      else if(a==="qwe"){ 
       if(aaa==="ddd") { 
        amd = "Hurray Hi"; 
       } 
       else{ 
        amd = "Hurray bye"; 
       } 
      } 
+2

這確實很麻煩。您是否考慮過使用Switch語句?你可以在你的considtions中嵌入你的一些IF。可能會使閱讀更容易。 – durbnpoisn

+0

@durbnpoisn:你能幫我寫出最好的方式來寫這個 – user1853128

+1

我不認爲你的條件是正確的 - '(a && b)!== -1' - 不應該是'(a!= = -1 && b!== -1)' –

回答

8

聲明:1可以寫成,

abc = (a !== -1 && b!== -1) ? "hai" : (c !== -1 && d!== -1) ? "hello" : "hurray"; 

所以在此基礎上嘗試編寫自己的代碼,聲明2 [提示:使用swtich]

+0

你可能應該在你的答案中檢查括號中的數字:) –

+0

@drew_w謝謝指出錯字..! –

+0

@RajaprabhuAravindasam:如果我有多個值以及需要打印的abc,那我該如何實現它,請給我寫一個第二個循環的switch語句,是js – user1853128

0

短手版本被稱爲三元邏輯。這很簡單,但如果你有需要大量更新的條件,它可能會令人困惑。但在這裏,它是:

Statement 1: 

var a = -1; 
var b = -1; 
var c = -1; 
var d = -1; 

result = ((a && b) !== -1) ? 'hai' : 
    ((c && d) !== -1) ? 'hello' : 'hurray'; 

alert(result); 

Statement 2: 

var a = 'abc'; 
var bb = 'def'; 

// plug in the remaining variables to test further 

result = (a === 'abc') ? (bb === 'def') ? amd = 'hello' : 
     (bb === 'ghi') ? amd = 'hai' : amd = 'Hurray' : 
    (a === 'que') ? (aaa === 'ddd') ? amd = 'Hurray Hi' : amd = 'Hurray Bye' : 
    'default result was missing from your statment'; 

alert(result); 

應該這樣做。雖然它是'速記',但從長遠來看可能更令人困惑。