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

188
Vistas
Llamar a una función según su nombre de cadena

Tengo un código que sería muy repetitivo, que según el nombre de la cadena de un array ejecuta una función u otra.

Doy un ejemplo de un código como pude hacerlo.

 // I use underscore in NodeJS _.each(refresh, (value, key) => { if(key === 'station') { station.add({ id: value }); } else if(key === 'concentrator') { concentrator.add({ id: value }); } else if.... });

Es posible ejecutar la función de acuerdo con su cadena para evitar tanta verificación con IF, etc.

 [key].add({ id: value });

llevo varias horas viendo en internet sobre el uso de call, apply, etc; pero no entiendo como funciona bien, quizás porque mi conocimiento de Javascript no es avanzado.

Gracias !

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

0

Crear una función anónima en un objeto es el mejor enfoque. Como puede usar la tecla para llamar al método.

Aquí hay un ejemplo en lápiz de código: https://codepen.io/liam-hamblin/pen/KKyapNP

El código anterior toma la clave utilizada para asignar la función y no requiere ninguna verificación. Sin embargo, siempre es el mejor enfoque verificar que la clave existe antes de llamar.

 const operations = {}; operations.add = (obj) => { document.write("add - "); document.write(JSON.stringify(obj)); } operations.subtract = (obj) => { document.write("subtract - "); document.write(JSON.stringify(obj)); } const input = prompt("Enter Function Name, type either subtract or add"); if (operations[input]) { operations[input]({id:1}); } else { document.write("no matching method") }
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