我有這個布爾表達式,我要清理如果可能的話:蒸餾布爾表示到一個表達
const isDebug =
(execArgs.indexOf('--debug') > -1) ||
(execArgs.indexOf('debug') > -1) ||
(execArgs.indexOf('--inspect') > -1) ||
(execArgs.indexOf('--debug=5858') > -1) ||
(execArgs.indexOf('--debug-brk=5858') > -1);
無需使用額外的括號和||有點笨拙。
我能做到這一點,而不是(我認爲):
const expressions = [
execArgs.indexOf('--debug') > -1,
execArgs.indexOf('debug') > -1,
execArgs.indexOf('--inspect') > -1,
execArgs.indexOf('--debug=5858') > -1,
execArgs.indexOf('--debug-brk=5858') > -1
];
const isDebug = !expressions.every(x => !x);
有沒有提煉出這樣的表達式下來更清潔的方式?這種雙重否定使用[] .every很難忍受。
爲什麼不包括'indexOf'的'every'回調裏面打電話? – loganfsmyth
是的,這也不錯:) –