Transformar los argumentos de una función

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 uso de la función overArgs en JavaScript. Esta función nos permite transformar los argumentos antes de pasarlos a otra función. Aprenderemos cómo utilizar overArgs para simplificar el código y aumentar la reutilización creando una nueva función que invoque una función existente con argumentos transformados.


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/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28666{{"Transformar los argumentos de una función"}} javascript/data_types -.-> lab-28666{{"Transformar los argumentos de una función"}} javascript/arith_ops -.-> lab-28666{{"Transformar los argumentos de una función"}} javascript/comp_ops -.-> lab-28666{{"Transformar los argumentos de una función"}} javascript/array_methods -.-> lab-28666{{"Transformar los argumentos de una función"}} javascript/higher_funcs -.-> lab-28666{{"Transformar los argumentos de una función"}} javascript/spread_rest -.-> lab-28666{{"Transformar los argumentos de una función"}} end

Transformar los argumentos de una función

Para transformar los argumentos de una función, utiliza la función overArgs, que crea una nueva función que invoca la función proporcionada con sus argumentos transformados.

  • Para transformar los argumentos, utiliza Array.prototype.map() en combinación con el operador de propagación (...) y pasa los argumentos transformados a fn.
const overArgs =
  (fn, transforms) =>
  (...args) =>
    fn(...args.map((val, i) => transforms[i](val)));
  • Para probar la función overArgs, crea una función de ejemplo y una matriz de transformaciones, luego llama a la nueva función con argumentos.
const square = (n) => n * n;
const double = (n) => n * 2;

const fn = overArgs((x, y) => [x, y], [square, double]);
fn(9, 3); // [81, 6]

Para comenzar a practicar la codificación, abre la Terminal/SSH y escribe node.

Resumen

¡Felicidades! Has completado el laboratorio Transformar los argumentos de una función. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.