miércoles, 11 de junio de 2014

Curso de JavaScript in learnstreet: if...else vs return y && vs ||

Sigo en https://www.learnstreet.com  y esta vez les comento que estando en la etapa de estructuras de control, me pidieron una tarea que consistía en una función que tomara dos números y que si alguno de estos números era 42, o que la suma de ellos diera 42 o que la diferencia de estos diera 42, entonces apareciera true. Pues lo primero que observamos es que esto es un problema de conjuntos y que no es lo mismo la condición "y" a la condicíón "o". 

Intenté usar if... else pero me di cuenta de que era erróneo. Así estaba primero mi programa:


  • function find42(a, b) {
  •     //Code the function body below.
  •     if (a == 42 || b == 42 || (a + b) == 42 || (a - b) == 42 || (b - a) == 42) {
  •        
  •     }
  • }

  • //This is just for you to see what happens when the function is called
  • console.log(find42(20, 22));

Me aparecía un mensaje de error.

Al final quedó así.


  • function find42(a, b) {
  •     //Code the function body below.
  •     return a == 42 || b == 42 || a + b == 42 || a - b == 42 || b - a == 42
  • }

  • //This is just for you to see what happens when the function is called
  • console.log(find42(20, 22));


true
=>

Hora de irse a dormir. Hay que descansar para tener la mente ágil.

Buen código.




No hay comentarios:

Publicar un comentario