如何根据布尔值通过三元运算符调用数组的不同方法?
三元运算符实现数组条件调用方法的可行方案
直接用三元运算符分别返回两个方法的调用结果即可,代码如下:
var A = ['aa', 'bb', 'cc']; var callFilter = true; // 可切换为false验证效果 var result = callFilter ? A.filter(x => x === 'bb') : A.concat('dd');
说明
- 当
callFilter为true时,执行A.filter(x => x === 'bb'),得到结果['bb'] - 当
callFilter为false时,执行A.concat('dd'),得到结果['aa', 'bb', 'cc', 'dd']
你之前的写法无法运行,大概率是没把完整的方法调用放在三元分支里,比如错误地只写了方法名而没加括号传参,或者语法结构不正确。上面的写法完全等价于if-else逻辑,符合你的需求。
内容的提问来源于stack exchange,提问作者Powisss
相关产品推荐
相关产品推荐

