这是一个奇怪的情况,但是使用三元运算符来确定我的数组方法将允许更干燥的代码。
目标:
const result = array. (isTrue ? some : every) (item) => {A lot of logic}
上面的代码显然不会工作,但我想看看是否有一些语法允许这样的事情?
您可以使用括号符号来有条件地访问该方法:
const method = (isTrue, array) => array[isTrue ? 'some' : 'every'](item => item)
const arr = [0, 1, 2]
console.log(method(true, arr))
console.log(method(false, arr))
我要这样做:
const myLogic = (item) => { a lot of logic };
const result = isTrue ? array.some(myLogic) : array.every(myLogic)