Назад к задачам
Junior — Middle+
11

Создание функции композиции

Компании, где спрашивали:

ЯндексЯндекс
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Напишите функцию compose, принимающую произвольное количество функций и возвращающую их композицию. Функция должна корректно работать как с единственной функцией‑аргументом, так и с несколькими, передавая все полученные параметры в первую функцию цепочки.

const square = (x) => x * x;
const times2 = (x) => x * 2;
const sum = (a, b) => a + b;

console.log(compose(square, times2)(2) === square(times2(2)));
console.log(compose(square, times2, sum)(3, 4) === square(times2(sum(3, 4))));