Funciones Juntas 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 Funciones Juntas en JavaScript. Aprenderemos a crear una función que tome múltiples funciones como argumentos y devuelva una nueva función que aplique esas funciones al mismo conjunto de argumentos, devolviendo una matriz de los resultados. Al final de este laboratorio, tendrás una mejor comprensión de cómo usar Funciones Juntas para simplificar tu código y hacerlo más eficiente.


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-28459{{"Funciones Juntas en JavaScript"}} javascript/data_types -.-> lab-28459{{"Funciones Juntas en JavaScript"}} javascript/arith_ops -.-> lab-28459{{"Funciones Juntas en JavaScript"}} javascript/comp_ops -.-> lab-28459{{"Funciones Juntas en JavaScript"}} javascript/higher_funcs -.-> lab-28459{{"Funciones Juntas en JavaScript"}} javascript/spread_rest -.-> lab-28459{{"Funciones Juntas en JavaScript"}} end

Explicación de las Funciones Juntas

Para usar la función juxt, primero abre la Terminal/SSH y escribe node para comenzar a practicar la codificación. La función juxt toma varias funciones como argumentos y devuelve una función que es la juxtaponición de esas funciones.

Para crear la función juxt, utiliza Array.prototype.map() para devolver una fn que puede tomar un número variable de args. Cuando se llama a fn, debe devolver una matriz que contiene el resultado de aplicar cada fn a los args.

Aquí hay una implementación de ejemplo de la función juxt:

const juxt =
  (...fns) =>
  (...args) =>
    [...fns].map((fn) => [...args].map(fn));

Una vez que hayas definido la función juxt, puedes usarla pasando cualquier número de funciones como argumentos, seguidos de cualquier número de argumentos para pasar a esas funciones.

Aquí hay un par de ejemplos de uso de la función juxt:

juxt(
  (x) => x + 1,
  (x) => x - 1,
  (x) => x * 10
)(1, 2, 3); // [[2, 3, 4], [0, 1, 2], [10, 20, 30]]
juxt(
  (s) => s.length,
  (s) => s.split(" ").join("-")
)("happy coding"); // [[18], ['happy-coding']]

En el primer ejemplo, la función juxt toma tres funciones como argumentos y devuelve una nueva función. Cuando esa nueva función se llama con los argumentos 1, 2, 3, aplica cada una de las tres funciones a esos argumentos y devuelve una matriz de matrices que contiene los resultados.

En el segundo ejemplo, la función juxt toma dos funciones como argumentos y devuelve una nueva función. Cuando esa nueva función se llama con el argumento 'happy-coding', aplica cada una de las dos funciones a ese argumento y devuelve una matriz de matrices que contiene los resultados.

Resumen

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