Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- compose(fn1, fn2, fn3, ...)(1)
- */
- const fn1 = function(val) { console.log(val, '+ 1 = ', val + 1); return val + 1 };
- const fn2 = function(val) { console.log(val, '+ 2 = ', val + 2); return val + 2 };
- const fn3 = function(val) { console.log(val, '+ 3 = ', val + 3); return val + 3 };
- const fn4 = function(val) { console.log(val, '+ 4 = ', val + 4); return val + 4 };
- // ES6
- const compose1 = (...fns) => val => fns.reduce((arg, fn) => fn(arg), val);
- // ES5
- var compose = function() {
- var fns = arguments;
- return function(val) {
- var res = val;
- for (var i = 0; i < fns.length; i++) {
- res = fns[i](res)
- }
- return res;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement