Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

326
Visualizações
Cambiar el argumento de una función que está dentro de otra función

Estas son mis tareas:

estas son mis tareas

Como puede ver, todos tienen la "misma" lógica. Así que quería usar una función como esta ->

 const task71=(x)=>Math.tan(2*x+x*x); const main=(x,dX,xEnd)=>{ while(x<=xEnd) { task71(x); //this part I wanna change, so it will work for task72,task73... x+=dX; console.log(`Y=${task71(x)}\nX=${x}`); } }

Esto funciona solo para task71(x) , pero tengo task72(x),task73(x) , etc. ¿Qué necesito cambiar en la función main(x,dx,xEnd) para que funcione para otras funciones? Intenté usar task71(x) como argumento, pero de esta forma la función solo funciona con el valor inicial de x .

Tal vez esta pregunta sea estúpida, lo siento, recientemente comencé a aprender programación.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Puede cargar todas sus tareas en un objeto y luego ejecutar cada tarea en su main :

 const tasks = { 71: (x)=>Math.tan(2*x+x*x), 73: (x)=>Math.pow(x+1, 2), } const main=(x,dX,xEnd)=>{ while(x<=xEnd) { for(let id in tasks) { let y = tasks[id](x); //this part I wanna change, so it will work for task72,task73... console.log(`task${id}:\nY=${y}\nX=${x}`); } x+=dX; } } main(2.40,0.20,7.60);

Alternativamente, puede pasar la función de task a la main :

 const tasks = { 71: (x)=>Math.tan(2*x+x*x), 73: (x)=>Math.pow(x+1, 2), } const main=(x,dX,xEnd, taskId)=>{ while(x<=xEnd) { let y = tasks[taskId](x); //this part I wanna change, so it will work for task72,task73... x+=dX; console.log(`task${taskId}:\nY=${y}\nX=${x}`); } } for(let id in tasks) { main(2.40,0.20,7.60, id); }

about 4 years ago · Juan Pablo Isaza Relatório

0

Creo que quieres algo como esto:

 const taskmap = { task71: (x)=>Math.tan(2*x+x*x); // etcetera };

Y entonces:

 const main=(x,dX,xEnd)=>{ func_count = 71; while(x<=xEnd) { var fn = taskmap['task'+func_count]; fn(x); x+=dX; console.log(`Y=${fn(x)}\nX=${x}`); } }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda