const compose = (...fns) => fns.reduce((f, g) => (...args) => f(g(...args)));
const pipe = (...fns) => fns.reduce((f, g) => (...args) => g(f(...args)));
const add1 = x => x + 1;
const double = x => x * 2;
const square = x => x * x;
const composed = compose(square, double, add1);
const piped = pipe(square, double, add1);
console.log(composed(3), piped(3));
Post #3535
900
CHALLENGE
- ❤ 2
- 👍 1