2012-01-03 62 views
0

他們的方法有相同的結果有多個正確答案?IF聲明多個答案 - 相同的結果Javascript

function check(code){ 
    if(code == (8 || 9 || 13 || 16 || 17 || 18 || 20 || 32)){ 
     return true; 
    } 
} 

我知道我可以使用switch語句,但我想知道他們是否是反正類似於此。我已經嘗試使用數組,但速度很慢。

我也意識到你可以使用& &但我不想輸入代碼==一百次。

+0

'&&'和''||具有不同的含義,但在沒有的情況下,你可以使用此結構。 – GolezTrol 2012-01-03 10:58:37

回答

1

你要麼必須這樣做

return code == 8 || code == 9 || ...; 

或本

return [8, 9, 13, ...].indexOf(code) > 0; 
1

不,你一定要拼出他們全力以赴。

一個更好的辦法將是一個循環:

var values = [8, 9, 13, 16, 17, 18, 20, 32]; 
for (i = 0; i < values.length; ++i) { 
    if (code === values[i]) { 
     // do something. 
    } 
} 
1

怎麼樣:

function check(code){ 
    return [8, 9, 13, 16, 17, 18, 20, 32].indexOf(code) != -1; 
}