前言
如何实现compose函数并通过ES6进行优化
内容
代码
JavaScript版本
代码语言:javascript复制function compose (...args) {
return function (value) {
return args.reverse().reduce(function(acc, fn) {
return fn(acc)
}, value)
}
}
ES6版本
代码语言:javascript复制const compose = (...args) => value => args.reverse().reduce((acc, fn) => fn(acc), value)
测试
代码语言:javascript复制const f = compose(toUpper, first, reverse)
console.log(f(['one', 'two']))