合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
```js function fn1(x) { return x + 1; } function fn2(x) { return x + 2; } function fn3(x) { return x + 3; } function fn4(x) { return x + 4; } // const a = compose(fn1, fn2, fn3, fn4) // a(1) // 1 + 1 + 2 + 3 + 4 function compose(...arg1) { // arg1存储组合的函数数组 return function(...arg2) { // args存储最外层函数执行需要传递的实参 if (arg1.length === 0) { return arg2 // 无compose函数,不做处理 } if (arg1.length === 1) { return arg1[0](...arg2) } return arg1.reduce((pre, cur) => { // 第一次pre的值,第一个函数执行的实参,cur是一个函数 // 第二次pre的值,上一次执行的返回值,作为参数传递给下一个cur return cur(pre) }, ...arg2) } } ```