簡體   English   中英

我將如何簡化這個嚴格的平等表達

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM