Основы JavaScript (синтаксис ES6): Упражнение 46 с решением
Напишите программу JavaScript для карри (карри) функции
Согласно wiki. haskell.org «Каррирование — это процесс преобразования функции, которая принимает несколько аргументов, в функцию, которая принимает только один аргумент и возвращает другую функцию, если какие-либо аргументы все еще необходимы. fxy = g (x, y), однако каррированная форма обычно более удобен, поскольку позволяет частичное применение.
Примечание. Используйте рекурсию. Если количество предоставленных аргументов (args) достаточно, вызовите переданную функцию fn. В противном случае верните каррированную функцию fn, которая ожидает остальные аргументы. Если вы хотите каррировать функцию, которая принимает переменное количество аргументов (функция с переменным числом аргументов, например Math.min ()), вы можете дополнительно передать количество аргументов второму параметру arity.
Пример решения:
HTML-код:
Карри (curries) функция Код JavaScript:
//# Источник https://bit.ly/2neWfJ2 const curry = (fn, arity = fn.length , ... args) => arity
Пример вывода:
2562
Блок-схема :
Живая демонстрация:
См. Pen javascript-basic-упражнение-1-46 от w3resource (@ w3resource) на CodePen.
Назад: Напишите программу на JavaScript для разделения значений на две группы, если элемент в фильтре является истинным, соответствующий элемент в коллекции принадлежит к первой группе; в противном случае он принадлежит ко второй группе.
Далее: Напишите программу на JavaScript для выполнения глубокого сравнения двух значений, чтобы определить, эквивалентны ли они.