Introdução
Neste laboratório, exploraremos o conceito de Function Arity (Aridade de Função) em JavaScript. O objetivo deste laboratório é criar uma função de ordem superior que aceita uma função e um número n como argumentos e retorna uma nova função que aceita apenas até n argumentos, ignorando quaisquer argumentos adicionais. Isso nos ajudará a entender como limitar o número de argumentos passados para uma função em JavaScript.
Como Criar uma Função com um Número Específico de Argumentos
Para criar uma função que aceita um número específico de argumentos e ignora quaisquer argumentos adicionais, siga estes passos:
Abra o Terminal/SSH e digite
nodepara começar a praticar a codificação.Use o seguinte código para criar sua função:
const ary =
(fn, n) =>
(...args) =>
fn(...args.slice(0, n));
Chame a função que você acabou de criar,
ary, com dois argumentos: a função para a qual você deseja limitar os argumentos (fn) e o número de argumentos que você deseja limitar (n).Agora você pode usar a nova função para limitar o número de argumentos para qualquer função que desejar. Para fazer isso, chame sua nova função com o operador spread (
...) e os argumentos que você deseja limitar.
Aqui está um exemplo de como usar sua nova função:
const firstTwoMax = ary(Math.max, 2);
[[2, 6, "a"], [6, 4, 8], [10]].map((x) => firstTwoMax(...x)); // [6, 6, 10]
Neste exemplo, firstTwoMax é uma nova função que limita a função Math.max a aceitar apenas os dois primeiros argumentos. O método map é usado para aplicar a nova função a cada array no array externo, retornando o máximo dos dois primeiros elementos de cada array interno.
Resumo
Parabéns! Você concluiu o laboratório de Aridade de Função. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.