如何编写if/else函数简写?根据条件切换数组some/every方法
复用回调并动态切换数组方法
你可以把重复的回调函数抽成独立变量,再通过属性访问的方式动态选择some或every方法,完全避免代码重复:
步骤1:提取重复的回调函数
先把两处相同的逻辑单独定义,只写一次:
const checkItem = (c) => { // 这里写原来省略号里的所有代码 };
步骤2:动态选择数组方法并调用
用三元表达式判断要使用的方法名,通过方括号访问数组的对应方法,再传入回调:
return this.data[a === 1 ? 'some' : 'every'](checkItem);
原理很简单:数组的some和every都是挂载在数组原型上的方法,你可以通过字符串形式的属性名('some'/'every'),用方括号语法拿到对应的函数,再直接调用就行,完全符合语法要求。
内容的提问来源于stack exchange,提问作者user24475160
相关产品推荐
相关产品推荐

