2013-06-04 32 views
0

我期待下面的代碼塊下面的轉換隻用三元語句的一行代碼:轉換switch語句三元聲明在JavaScript

switch(true) 
{ 
    case (cond_1_bool): 
     val_res = (cond_1_1_bool || cond_1_2_bool) ? res_1_1: res_1_2; 
     break; 

    default: 
     val_res = res_2_1; 
} 

我怎樣才能做到這一點?

+0

我不認爲你可以將其轉換爲「一」三元聲明 - 您至少會需要兩個ternaries自有三種可能的結果(儘管下面的一些答案顯示你可以在一行上完成)。 – nnnnnn

回答

2

嘗試......

val_res = cond_1_bool ? ((cond_1_1_bool || cond_1_2_bool) ? res_1_1 : res_1_2) : res_2_1; 
+0

熱潮!奇蹟般有效。謝謝。 –

+0

@ChuckUgwuh根本沒有 – Givi

1

只是一個猜測

val_res = (cond_1_bool)? ((cond_1_1_bool || cond_1_2_bool) ? res_1_1: res_1_2): res_2_1; 
+0

這也適用。我選擇了Givi的一個,因爲它早些時候(儘管只有一分鐘)。乾杯。 –