JavaScript: Композиция функций
С точки зрения математики, композиция функций f
и g
— новая функция z = f(g(x))
.
compose.js
Реализуйте и экспортируйте по умолчанию функцию, которая принимает на вход две других одноаргументных функции и возвращает новую функцию. Эта новая функция также принимает на вход один параметр и представляет собой композицию двух исходных одноаргументных функций (эти функции вызываются последовательно в обратном порядке: например, при порядке f
, g
===> f(g(x))
).
Примеры ниже помогут понять, как должна работать функция:
const f = compose(Math.sqrt, Math.abs);
f(-4); // 2
compose((v) => v, (v) => v)(10); // 10
compose((v) => v + 2, (v) => v)(10); // 12
compose((v) => v, v => (v) - 2)(10); // 8
compose((v) => v ** 2, (v) => v - 2)(2); // 0
compose((v) => v - 2, (v) => v ** 2)(2); // 2
Для полного доступа к испытанию нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Отзывы

Решил минут за 5, и самому даже как то приятно, что понимание функций стало более чётким :) Спасибо за задание ;)