Foros del Web » Programando para Internet » Javascript »

¿Es posible usar un switch con múltiples variables?

Estas en el tema de ¿Es posible usar un switch con múltiples variables? en el foro de Javascript en Foros del Web. Hola a todos! Veréis tengo una estructura con 4 variables diferentes y cada variable tiene 4 valores posibles. Quiero cubrir cada combinación de los diferentes ...
  #1 (permalink)  
Antiguo 27/03/2013, 12:03
 
Fecha de Ingreso: marzo-2013
Ubicación: Madrid
Mensajes: 12
Antigüedad: 11 años, 8 meses
Puntos: 0
¿Es posible usar un switch con múltiples variables?

Hola a todos!

Veréis tengo una estructura con 4 variables diferentes y cada variable tiene 4 valores posibles.

Quiero cubrir cada combinación de los diferentes valores posibles, al principio fui a probar con el "if" y "else" pero se me hacía eterno después quise probar con el switch, lo que hice fue:

switch (var1, var2, var3, var4){

case "valor1_de_var1", "valor1_de_var2", valor1_de_var3", valor1_de_var4"
break;
case
.
.
.

y así sucesivamente.

El problema es que cada vez que ejecuto la función siempre me da el mismo resultado: el primero empezando por arriba, incluso aunque ponga un caso que no esté contemplado en la primera línea me ejecuta ese código.

No estoy seguro de si lo que he hecho lo acepta javascript o si tengo que utilizar otra estructura, ¿alguien me puede ayudar?

Gracias!
  #2 (permalink)  
Antiguo 27/03/2013, 12:50
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: ¿Es posible usar un switch con múltiples variables?

buenas...
aunque sea una expresión válida, javascript no interpreta múltiples expresiones en switch. cuando le pasas más de un argumento, switch solo considera el último parámetro. lo mismo sucede con case.

Código:
switch(0,1,2){
case 0:
console.log('case 0: un solo argumento');
break;

case 2,0:
console.log('case 2,0: dos argumentos');
break;

case 0,2:
console.log('case 0,2: dos argumentos');
break;

default:
console.log('cualquier otra cosa');
}
nótese que se interpreta el tercer caso (case 0,2) pero se debe porque switch y case toman el último argumento (2).

no tengo claro qué es lo que intentas hacer, quizas con algo más de ejemplo podríamos darte alguna idea. hasta ahora lo que se me ocurre es que pongas los valores en un array y lo recorras con un bucle donde el cuerpo sea el switch.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 29/03/2013, 06:21
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 10 meses
Puntos: 206
Respuesta: ¿Es posible usar un switch con múltiples variables?

-Maldita sea, me quivoqué de post, sigan caminando, no hay nada que ver-

Etiquetas: múltiple, switch, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:27.