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

147
Views
Devolver una función con los argumentos invertidos

El código con el que estoy practicando es donde tengo una función llamada InReverse. Esta función acepta una función como argumento y devuelve una función. Cuando se invoca la función devuelta, invierte el orden de los argumentos.

Cuando se devuelven las funciones devueltas:

const gatoPerro = ('gato', 'perro') => devuelve ('perro gato')

Lo que he reescrito hasta ahora es:

 function inReverse (func) { return function (...arguments) { return arguments.map((element) => { element.reverse(); }); }

}

Cualquier orientación sería apreciada!

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

0

Simplemente debe llamar a la función de entrada dentro de la función anónima recién creada.

Por ejemplo esto funciona:

 function inReverse(f) { return function () { let args = [...arguments].reverse(); return f.apply(this, args); } }

Entonces, por ejemplo, si tiene una función de subtract como esta:

 function subtract(a, b) { return ab; }

subtract(1, 10); será -9 como se esperaba.

y inReverse(subtract)(1, 10) será 9 como se esperaba.

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Report

0

No estoy seguro de por qué está usando map , simplemente llame a reverse directamente en la matriz de arguments . Además, no estabas llamando a func :

 function inReverse(func) { return function(...args) { return func(...args.reverse()); }; }

(Tenga en cuenta que arguments es un identificador reservado en modo estricto, debe nombrar su parámetro para otra cosa)

about 4 years ago · Juan Pablo Isaza Report

0

Simplemente invierta los argumentos y use func.apply(this, arr)

 function inReverse(func) { return function() { var args = Array.prototype.slice.call(arguments) args = args.reverse(); return func.apply(this, args); } } function div(a, b) { return a / b } console.log(div(1, 2)) console.log(inReverse(div)(1, 2))

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!