Estoy buscando el mejor método para llamar a funciones con nombres de variables que sigan una regla específica. Estoy tratando de evitar usar eval() ya que hay tantos problemas al respecto en línea.
Tengo una configuración del sistema en la que diferentes grupos tienen una función a la que se puede llamar en función de su nombre. El grupo de prueba EG tendría una función importada llamada getValue_Test (parámetros) y esta función se puede llamar para cualquier nombre de grupo. EG getValue_Test2 (parámetros) funcionaría. si el nombre del grupo era test2.
Tengo estas funciones que se están importando al componente de reacción y solo quiero saber la mejor manera de llamarlas sin hacer una declaración de cambio gigante, ya que habrá cientos de estas funciones.
Cualquier ayuda será apreciada, gracias
Si tienes algunas funciones definidas así:
function foo() {} function bar() {} function baz() {}Podrías ponerlos en un objeto (o mapa):
const funcs = { foo, bar, baz };Entonces podrá usar una cadena para acceder y eventualmente llamar a la función:
funcs["foo"](); // called foo const key = "bar"; funcs[key](); // called bar funcs.baz(); // called bazSin embargo, esto generalmente no se recomienda. ¿Parece que podrías querer usar una matriz en su lugar? Los nombres de sus funciones difieren solo por un número que parece estar aumentando.