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

163
Visualizações
Transmisión de función con interruptor de forma dinámica

Soy nuevo en javascript y estoy tratando de descubrir cómo pasar dinámicamente las funciones con el switch .

Por ejemplo, puedo pasar la función manualmente como siguiendo

 var select =1 ; function add (val){ return val+512}; function subtract(val) {return val-300}; function multiply(val){return val*584}; var value = 290; var text = `the value is ${add(value)}` console.log(text);

¿Cómo puedo transmitir una función con un interruptor basado en el valor select ? Lo siguiente no funciona.

 var select =1 ; function add (val){ return val+512}; function subtract(val) {return val-300}; function multiply(val){return val*584}; var value = 290; //switch statement switch(select){ case 1: add(value); break; case 2: subtract(value); break; case 3: multiply(value); break}; var string = `this value is ${switch(select){ case 1: add(value); break; case 2: subtract(value); break; case 3: multiply(value); break};}` console.log(string)

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

0

Sugiero mover el bloque de interruptores dentro de una función, como la siguiente:

 var select = 1; function add(val) { return val + 512 }; function subtract(val) { return val - 300 }; function multiply(val) { return val * 584 }; var value = 290; var string = `this string in ${chooseFunction(select, value)}` console.log(string) function chooseFunction (select, value) { // switch statement // Note that the break statement is optional // if you return a value at the end of a case block switch (select) { case 1: return add(value); case 2: return subtract(value); case 3: return multiply(value); } }
about 4 years ago · Juan Pablo Isaza Relatório

0

Usted escribe una función que tiene el switch que devuelve el resultado de llamar a las funciones en función de la entrada y la usa en la cadena de plantilla.

 function add(val) { return val + 512; } function subtract(val) { return val - 300; } function multiply(val) { return val * 584; } function run(value, select) { switch (select) { case 1: return add(value); case 2: return subtract(value); case 3: return multiply(value); } } const value = 290; const string1 = `This string is ${run(value, 1)}`; const string2 = `This string is ${run(value, 2)}`; const string3 = `This string is ${run(value, 3)}`; console.log(string1); console.log(string2); console.log(string3);

about 4 years ago · Juan Pablo Isaza Relatório

0

No puede pasar un interruptor directamente, ya que no puede pasar una instrucción if sin un operador ternario. Debe encapsular su declaración de cambio en una función como esta:

 var select =1 ; function add (val){ return val+512}; function subtract(val) {return val-300}; function multiply(val){return val*584}; var value = 290; const getValue = (s, v) => { switch(s) { case 1: return add(v); case 2: return subtract(v); case 3: return multiply(v); }; } var string = `this value is ${getValue(select, value)}` console.log(string)

Otra forma de hacer esto es poner sus funciones en una matriz con el índice que hace referencia a la elección:

 var select =1 ; function add (val){ return val+512}; function subtract(val) {return val-300}; function multiply(val){return val*584}; var value = 290; const fn = [add, subtract, multiply]; var string = `this value is ${fn[select - 1](value)}` console.log(string)

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