我有一个函数引用数组。
我需要找到满足我的匹配条件的第一个函数调用的返回值。
如何避免调用匹配的函数两次?
var f = function(x) { if (x === 10) return "ten"; }
var g = function(y) { if (y === 20) return "twenty"; }
var result = [f, g].find(m => m(10))
if (result) return result(10)
// this returns "ten"
最佳答案
仍然不确定我是否完全理解您的问题。在我看来,您想遍历函数数组并在使用条件调用的函数为真时返回结果。
let fncaller = (fns, condition) => {
var result
for (var fn of fns) {
result = fn(condition)
if (result) { return result }
}
}
关于javascript - 获取第一个函数调用匹配的返回值而不调用它两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37486003/