[英]How would I shorthand this strict equality expression
有什么方法可以在不引入新變量的情況下簡化if
表達式?
if ((c2 === 'RED') || (c2 === 'GREEN') || (c2 === 'BLUE')) {
return true;
} else {
return false
}
我想像是這樣: if ((c2 === ('RED'|| 'GREEN' ||'BLUE')))
Array.indexOf
嚴格檢查,因此您可以執行
if ( ['RED','GREEN','BLUE'].indexOf(c2) !== -1 ) {...
並且由於它已經返回了布爾值,因此您可以直接將其返回而無需附加條件
您可以利用比較為您提供布爾結果這一事實來縮短它,因此您不需要使用布爾值的顯式return
:
return ((c2 === 'RED') || (c2 === 'GREEN') || (c2 === 'BLUE'));
您還可以創建一個對象:
var targets = { RED: 1, GREEN: 1, BLUE: 1 };
return !!targets[c2]; // !! turns the 1 into true
(您可以在對象中使用true
來避免!!
。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.