我有这个布尔表达式,我要清理如果可能的话:蒸馏布尔表示到一个表达
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
是的,这也不错:) –