Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

112
Views
Curry fecha y hora en javascript

soy nuevo en curry pero tengo un problema que no puedo resolver.

 function curry(func) { return date1=>{ return date2=>{ return date3=>{ return func(date1,date2,date3); }; }; }; } function format_date(a,b,c){ return a+ "." + b +"."+c; } var date= curry(format_date); console.log(date(1)(12)(2020)); console.log(date(1,12)(2020)); console.log(date(1)(12, 2020)); console.log(date(1,12, 2020));

la salida de todos los registros debe ser 1.12.2020 pero solo obtengo el primer retorno correcto [Function(anonymous)]

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Puede tomar una función de doble curry para entregar los parámetros y argumentos recopilados.

Este enfoque permite utilizar la date con parámetros independientes.

 function curry(func) { const fn = p => (...args) => { const parameters = [...p, ...args]; if (parameters.length >= func.length) return func(...parameters); return fn(parameters); }; return fn([]); } function format_date(a, b, c) { return a + "." + b + "." + c; } var date = curry(format_date); console.log(date(1)(12)(2020)); console.log(date(2, 12)(2020)); console.log(date(3)(12, 2020)); console.log(date(4, 12, 2020));

about 4 years ago · Juan Pablo Isaza Report

0

Currying es un aspecto muy importante de la programación funcional. JS, una vez, estaba destinado a progresar en la dirección funcional, pero luego cambiaron de opinión. Junto con toda su capacidad funcional, está listo para desarrollarse en el camino imperativo una vez más. La gente casi se olvida de volverse funcional en JS. Hoy en día ves a todo el mundo abrazando la async await en lugar de las promesas monádicas. Triste.

Lo que sea; volviendo a su pregunta, por supuesto, en JS puede curry una función incluso si tiene un número ilimitado de argumentos.

 var curry = f => f.length ? (...a) => curry(f.bind(f,...a)) : f(),

Eso es todo..!

Si su función para ser curry es;

 function format_date(a,b,c){ return a+ "." + b +"."+c; }

Entonces veámoslos en acción;

 function format_date(a, b, c) { return a + "." + b + "." + c; } var curry = f => f.length ? (...a) => curry(f.bind(f,...a)) : f(), fDate = curry(format_date); console.log(fDate(2021)(11)(30));

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!