Задача · Замыкания и this · урок 10 из 11
Задача: применить n раз
Напишите функцию function applyTimes(fn, n), которая возвращает новую функцию одного аргумента x. Новая функция применяет fn подряд n раз: сначала к x, затем к результату прошлого шага. Она возвращает последний результат.
applyTimes((x) => x + 1, 3)(0)→3applyTimes((x) => x * 2, 3)(1)→8applyTimes((x) => x * 2, 0)(7)→7
Ограничения: n — целое число от 0 до 20; при n, равном 0, новая функция возвращает x без изменений; fn принимает один аргумент; новую функцию можно вызывать много раз, и каждый вызов начинает заново со своего x.
Не добавляйте лишних импортов, если в задаче это прямо не сказано.
Подпишись, чтобы пройти курс
Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.