Введение
В этом лабе мы будем исследовать концепцию Function Arity в JavaScript. Цель этого лабара — создать высший порядок функцию, которая принимает функцию и число n в качестве аргументов и возвращает новую функцию, которая принимает не более n аргументов, игнорируя любые дополнительные. Это поможет нам понять, как ограничить количество аргументов, передаваемых в функцию в JavaScript.
Как создать функцию с определенным количеством аргументов
Чтобы создать функцию, которая принимает определенное количество аргументов и игнорирует любые дополнительные аргументы, следуйте этим шагам:
Откройте Терминал/SSH и введите
node, чтобы начать практиковать программирование.Используйте следующий код, чтобы создать вашу функцию:
const ary =
(fn, n) =>
(...args) =>
fn(...args.slice(0, n));
Вызовите функцию, которую вы только что создали,
ary, с двумя аргументами: функцией, для которой вы хотите ограничить аргументы (fn), и числом аргументов, до которого вы хотите ограничить ее (n).Теперь вы можете использовать новую функцию, чтобы ограничить количество аргументов для любой функции, которую вы хотите. Для этого вызовите свою новую функцию с оператором расширения (
...) и аргументами, которые вы хотите ограничить.
Вот пример того, как использовать вашу новую функцию:
const firstTwoMax = ary(Math.max, 2);
[[2, 6, "a"], [6, 4, 8], [10]].map((x) => firstTwoMax(...x)); // [6, 6, 10]
В этом примере firstTwoMax — новая функция, которая ограничивает функцию Math.max так, чтобы она принимала только первые два аргумента. Метод map используется для применения новой функции к каждому массиву в внешнем массиве, возвращая максимальное значение первых двух элементов каждого внутреннего массива.
Резюме
Поздравляем! Вы завершили лабу по Function Arity. Вы можете практиковать в более лабах в LabEx, чтобы улучшить свои навыки.