JavaScript如何用三元运算符条件调用数组some或every方法
实现方式
你可以通过方括号属性访问语法实现动态调用数组方法,JavaScript 中对象属性支持通过字符串形式的键名动态访问,适配你的需求的代码如下:
const result = array[isTrue ? 'some' : 'every'](item => { // 此处放置你的业务逻辑 })
原理解释
- 数组的
some、every等方法本质是挂载在Array原型上的属性,可以通过字符串属性名访问 - 三元运算先返回字符串
'some'或'every',通过[]从数组实例上取到对应方法后,直接传入回调执行即可,和你单独调用两种方法的效果、性能完全一致
扩展用法
这个写法可以通用到所有动态调用对象方法的场景,比如动态切换数组的filter和map方法:
const result = array[needFilter ? 'filter' : 'map'](item => { // 业务逻辑 })
内容的提问来源于stack exchange,提问作者helper12345
相关产品推荐
相关产品推荐

