Limitar los argumentos de una función en JavaScript

JavaScriptJavaScriptBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, exploraremos el concepto de Function Arity en JavaScript. El propósito de este laboratorio es crear una función de orden superior que acepte una función y un número n como argumentos y devuelva una nueva función que solo acepte hasta n argumentos, ignorando cualquiera adicional. Esto nos ayudará a entender cómo limitar el número de argumentos pasados a una función en JavaScript.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28322{{"Limitar los argumentos de una función en JavaScript"}} javascript/data_types -.-> lab-28322{{"Limitar los argumentos de una función en JavaScript"}} javascript/arith_ops -.-> lab-28322{{"Limitar los argumentos de una función en JavaScript"}} javascript/comp_ops -.-> lab-28322{{"Limitar los argumentos de una función en JavaScript"}} javascript/higher_funcs -.-> lab-28322{{"Limitar los argumentos de una función en JavaScript"}} javascript/spread_rest -.-> lab-28322{{"Limitar los argumentos de una función en JavaScript"}} end

Cómo crear una función con un número específico de argumentos

Para crear una función que acepte un número específico de argumentos y ignore cualquier argumento adicional, siga estos pasos:

  1. Abra la Terminal/SSH y escriba node para comenzar a practicar la codificación.

  2. Utilice el siguiente código para crear su función:

const ary =
  (fn, n) =>
  (...args) =>
    fn(...args.slice(0, n));
  1. Llame a la función que acaba de crear, ary, con dos argumentos: la función para la que desea limitar los argumentos (fn) y el número de argumentos hasta el que desea limitarla (n).

  2. Ahora puede usar la nueva función para limitar el número de argumentos de cualquier función que desee. Para hacer esto, llame a su nueva función con el operador de propagación (...) y los argumentos que desea limitar.

A continuación, se muestra un ejemplo de cómo usar su nueva función:

const firstTwoMax = ary(Math.max, 2);
[[2, 6, "a"], [6, 4, 8], [10]].map((x) => firstTwoMax(...x)); // [6, 6, 10]

En este ejemplo, firstTwoMax es una nueva función que limita la función Math.max a solo aceptar los primeros dos argumentos. El método map se utiliza para aplicar la nueva función a cada matriz en la matriz externa, devolviendo el máximo de los primeros dos elementos de cada matriz interna.

Resumen

¡Felicidades! Has completado el laboratorio de Function Arity. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.