Средний
Задача по JavaScript — Каррирование функции
Работа с массивами
Описание
Код
Реализуйте функцию curry, которая принимает на вход обычную функцию fn с фиксированным числом параметров и возвращает её каррированную версию.
Каррированная версия функции:
Принимает по одному аргументу за раз.
Возвращает новую функцию, пока не будет получено достаточное количество аргументов.
Как только собрано нужное количество аргументов — вызывает исходную функцию fn с этими аргументами и возвращает результат.
Пример 1:
function add(a, b) { return a + b; } const curriedAdd = curry(add); curriedAdd(3)(4); // => 7 const alreadyAddedThree = curriedAdd(3); alreadyAddedThree(4); // => 7
Пример 2:
function multiplyThreeNumbers(a, b, c) { return a * b * c; } const curriedMultiplyThreeNumbers = curry(multiplyThreeNumbers); curriedMultiplyThreeNumbers(4)(5)(6); // => 120 const containsFour = curriedMultiplyThreeNumbers(4); const containsFourMulFive = containsFour(5); containsFourMulFive(6); // => 120
Описание
Console
Perfomance
Очистить
Время выполнения: - мс