Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/07/2013, 09:21
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Cómo recuperar variables con nombres dinámicos

Buenas tardes a todos los foristas:

Estoy revisando algunos códigos que dejó un compañero que ya no trabaja en la empresa y veo que tiene mucho código repetitivo... por ejemplo me he encontrado con una función que contiene lo siguiente:

Código Javascript:
Ver original
  1. var variable1 = new Array();
  2. var variable2 = new Array();
  3. var variable3 = new Array();
  4. var variable4 = new Array();
  5. var variable5 = new Array();
  6.  
  7.  
  8. function actualizaVariable(a)
  9. {
  10. ....
  11.  switch (a) {
  12.             case 1:
  13.               variable1 = [campo1, campo2, campo3, campo4, campo5, campo6];
  14.               break;
  15.             case 2:
  16.               variable2 = [campo1, campo2, campo3, campo4, campo5, campo6];
  17.               break;
  18.             case 3:
  19.               variable3 = [campo1, campo2, campo3, campo4, campo5, campo6];
  20.               break;
  21.             case 4:
  22.               variable4 = [campo1, campo2, campo3, campo4, campo5, campo6];
  23.               break;
  24.             case 5:
  25.               variable5 = [campo1, campo2, campo3, campo4, campo5, campo6];
  26.               break;
  27. end;
  28. ....
  29. }

antes y después del switch hay código adicional, por eso los puntos suspensivos...

Este switch() en realidad es más amplio, son casi 40 casos y cerca de 35 campos en cada asignación, por lo que se imaginaran que el código resultante es inmenso... mi pregunta es si en javascript hay alguna forma de asignar valores variables de manera dinámica. Si observan todos los arreglos que se declaran antes de la función varian sólo por un índice, por lo tanto el nombre de la variable que se tiene que asignar podría constuirse como una concatenación, es decir, todo este switch podría cambiarse por algo tan simple como esto:

Código Javascript:
Ver original
  1. "variable" + indice = [campo1, campo2, campo3, campo4, campo5, campo6];

La pregunta es si es posible hacer algo como esto con javascript... hay alguna manera de poder referenciar una variable construyendo su nombre de manera dinámica???

De antemano muchas gracias por el apoyo

Saludos
Leo.