鉴于:
const a = () => true
const b = () => false
const t = [a, b]
Run Code Online (Sandbox Code Playgroud)
我如何生成一个附加的 AND:
a() && b()
在这种情况下,它将返回false。
您可以使用trueas startValue来减少数组,并使用函数调用的结果执行逻辑 AND&&。
这种方法保留了函数调用的值。
const a = () => true
const b = () => false
const t = [a, b]
console.log(t.reduce((r, f) => r && f(), true));Run Code Online (Sandbox Code Playgroud)
使用结果的存储值和短路的方法。
const AND = array => {
var result = true;
array.every(fn => result = result && fn());
return result;
};
Run Code Online (Sandbox Code Playgroud)