JavaScript - Ayuda con un ejercicio

 
Vista:
sin imagen de perfil
Val: 4
Ha aumentado su posición en 6 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ayuda con un ejercicio

Publicado por Marta (2 intervenciones) el 29/07/2019 14:30:54
Hola buenas tardes, acabo de empezar a estudiar javascript y estoy tratando de hacer un ejercicio con switch en el que pido dos numeros y digo si son iguales o cual es mayor y cual menor.

El caso es que la consola ignora 'a' y solo devuelve que 'b' es igual a 'b', ¿alguien podria decirme por que?

Muchas gracias, este es mi codigo:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
'use strict'
 
 
let a=parseInt(prompt('Introduce el primer número',0));
 
let b=parseInt(prompt('Introduce el segundo número',0));
 
 
switch(a,b) {
    case a=b:
        console.log(a+' es igual a '+b)
        break;
    case a>b:
        console.log(a+' es mayor a '+b)
        break;
    case a<b:
        console.log(a+' es menor a '+b)
        break;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ayuda con un ejercicio

Publicado por Alejandro (532 intervenciones) el 29/07/2019 15:56:15
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
A switch se le pasa una expresión y el resultado lo compara con el valor de case.
1
2
3
4
5
6
7
8
9
10
11
12
13
switch(a,b) { // aqui esta diciendo switch(true){
   case a=b:
      // siempre que "a" sea variable sera "case true:" pues es asignación y no comparación.
      // entonces "a" siempre sera "b" por eso tu piensas que el resultado que te da es "b es igual a b"
      console.log(a+' es igual a '+b)
      break;
   case a>b: // Puede ser "case true" o "case false" dependiendo de "a" y "b"
      console.log(a+' es mayor a '+b)
      break;
   case a<b: // Puede ser "case true" o "case false" dependiendo de "a" y "b"
      console.log(a+' es menor a '+b)
      break;
}



Lo que intentas hacer debe ser con if.. else if...
1
2
3
4
5
6
7
if(a==b){
   console.log(a+' es igual a '+b);
}else if(a>b){
   console.log(a+' es mayor a '+b)
}else if (a<b){
   console.log(a+' es menor a '+b)
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar