2016-12-23 100 views
1

這裏是我的代碼:縮短包含&和||的IF語句

if(whats.above(x,y)=="g" && whats.onLeft(x,y)=="g") { 
    $(this).css("border-top-color","green").css("border-left-color","green"); 
} 

whats.abovewhats.onLeft可以返回一些字母。在這種情況下,我的聲明會檢查兩種情況下是否會返回g

但是,我現在有更多的信件,我希望這個聲明是true更多的。這裏只有一個字母g,但我想要其他的,例如n。我知道我不能做這樣的事情:

if(whats.above(x,y)==("g"||"n")) 

我能做些什麼來minimalize我的代碼在這種情況下?

回答

0

去你可以使用String#indexOf與字母串。

if ('gn'.indexOf(whats.above(x,y)) !== -1) { 
+1

太棒了,謝謝! – Kajcioch

0

那麼,問題出在你的語句應該是

if(whats.above(x,y)=="g"|| whats.above(x,y) == "n"){ } 

爲了更好的解決方案,我將與

if (["g","n"].indexOf(whats.above(x,y)) > -1){ } 
+0

我需要'whats.above'和'whats.onLeft'在我的聲明中返回'g'或'n'。我的發言是正確的,我需要**延長**。儘管'indexOf();'幫助我在這裏,謝謝! – Kajcioch