problems(js): add “2629. Function Composition”

Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
Matej Focko 2023-05-12 17:32:50 +02:00
parent 0c23faf222
commit f7cdba6935
Signed by: mfocko
GPG key ID: 7C47D46246790496

View file

@ -0,0 +1,17 @@
/**
* @param {Function[]} functions
* @return {Function}
*/
var compose = function(functions) {
return function(x) {
return functions.reduceRight(
(val, f) => f(val),
x,
);
};
};
/**
* const fn = compose([x => x + 1, x => 2 * x])
* fn(4) // 9
*/