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