Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

321
Vistas
Cómo llamar a una función varias veces

Aquí están los fragmentos de código

 let sum = a => b => b ? sum(a + b) : a; console.log(sum(10)(20)(3)(4)());

Así que estamos llamando a la función de suma 5 veces. Pero supongamos que tenemos una matriz de cualquier longitud que contiene solo números.

 let arrayValue = [1,2,3,4,5,...];

ahora quiero llamar a la función de suma a la longitud de esa matriz donde debería estar la última llamada () ya que no contiene ningún número;

La salida deseada debe ser sum(1)(2)(3)(4)(5)() y esto se generará mediante programación dependiendo de la longitud de la matriz

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Si miras

 console.log(sum(10)(20)(3)(4)());

Básicamente está haciendo esto:

 const x1 = sum(10); const x2 = x1(20); const x3 = x2(3); const x4 = x3(4); const x5 = x4(); console.log(x5);

Entonces la pregunta es: ¿Cómo hacemos eso desde este punto de partida?

 let arrayValue = [1,2,3,4,5];

La respuesta es un bucle o una recursión. Un bucle es bastante simple, así que hagámoslo:

 let x = sum; for (const value of arrayValue) { x = x(value); } x = x(); console.log(x); 

 let sum = a => b => b ? sum(a + b) : a; function example(arrayValue) { let x = sum; for (const value of arrayValue) { x = x(value); } x = x(); console.log(arrayValue.join(", "), "=>", x); } example([10, 20, 3, 4]); example([1, 2, 3, 4, 5]);

Comenzamos configurando x para sum (la función, no una llamada a ella), luego, para cada valor de matriz, llamamos a cualquier función x actualmente se refiere a pasar el valor y almacenar el valor devuelto nuevamente en x . Cuando nos quedamos sin valores, llamamos al resultado sin argumento.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede recorrer la longitud de la matriz. Puede usar la propiedad .length para hacer esto y luego llamar a su función dentro del ciclo.

Ejemplo:

 let arrayValue = [1, 2, 3, 4, 5 , …]; for (let i = 0; i < arrayValue.length; i++) { someFunction(arrayValue[i]); }

Referencia: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length

Espero que esto sea lo que estás buscando.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda