接受一个收敛函数和一个分支函数列表,并返回一个函数,该函数将每个分支函数应用于参数,分支函数的结果作为参数传递给收敛函数。
使用Array.prototype.map()和Function.prototype.apply()将每个函数应用于给定的参数。
使用扩展运算符 ( ...) 调用converger方法处理所有其他函数的结果。
JavaScript
const converge = (converger, fns) => (...args) =>
converger(...fns.map(fn => fn.apply(null, args)));
示例代码:
constaverage=converge((a,b)=>a/b, [arr=>arr.reduce((a,v)=>a+v,0),arr=>arr.length]);average([1,2,3,4,5,6,7]);// 4
更多内容请访问我的网站:https://www.icoderoad.com