Ejercicio – ¿En qué día de la semana estamos?

Ejercicio – ¿En qué día de la semana estamos?

En este ejercicio vamos a aplicar el concepto de condicional y veremos como muchas veces siempre hay una solución mejor.

Existen dos tipos de condicionales que podemos usar.

  • Estructura switch(){}
  • Estructura if(){}else{}

Te sugiera hacer este ejercicio previamente.

Enunciado

Escribe mediante javascript una rutina que devuelva por pantalla el día exacto de la semana en el que nos encontramos.

El día debe ser devuelto en formato texto. Por ejemplo lunes, martes, miércoles,… domingo.

Ver solución (Haz clic)

Solución del ejercicio

Hay varias posibles soluciones.

Todas tienen en común el uso del método getDay() para un objeto de tipo fecha. La particularidad es que devuelve un número del 0 al 6 siendo el 0 el domingo y el 6 el sábado.

La primera y más obvia es mediante el uso de un switch(). Se evalúan todos los casos y se almacena en una variable el texto que queremos escribir.

La segunda solución sorprende un poco la primera vez que la ves. Es la solución óptima.

Nos valemos de un array con los días ordenados. Después simplemente hay que pedir al array que nos devuelva la posición que marca el valor numérico devuelto por .getDay()

Solución mediante switch(){}

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="description" content="que dia de la semana es">
        <meta name="author" content="Francesc Ricart">
        <title>Solución sin condicionales</title>
    </head>
    <body>
    
    <script>
        var d = new Date();
        var numDia = d.getDay();
        var traduccion;
        
        switch(numDia){
            case 0:
                traduccion = "domingo";
                break;
            case 1:
                traduccion = "lunes";
                break;
            case 2:
                traduccion = "martes";
                break;
            case 3:
                traduccion = "miércoles";
                break;
            case 4:
                traduccion = "jueves";
            case 5:
                traduccion = "viernes";
                break;
            case 6:
                traduccion = "sábado";
                break;
            default:
                traduccion ="[error]"
        }
        
        document.write("hoy es " + traduccion);
        
    </script>

    </body>
</html>

Solución mediante un array. Solución óptima.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="description" content="que dia de la semana es">
        <meta name="author" content="Francesc Ricart">
        <title>Solución óptima con array</title>
    </head>
    <body>
    
    <script>
        var d = new Date();
        var semana = ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]
        
        document.write("hoy es " + semana[d.getDay()]);
        
    </script>

    </body>
</html>

¡Hola!

Querido lector,

Típicamente en clase todo el mundo opta por la primera solución con switch(){}.

Personalmente me gusta más con el array() por el poco número de líneas de código que usa.

¡Si te ha gustado este contenido te animo a seguirme en mi perfil de empresa de Linkedin!

Francesc Ricart
hola@francescricart.com

Aprender y enseñar. Enseñar y aprender. En el ámbito docente soy docente ocupacional. En el ámbito profesional consultor web. Ofrezco servicios de mejora continua y mantenimiento web. ¿Qué quieres aprender hoy? Encontraréis más acerca de mi en la página sobre mi

No hay comentarios

Escribir un comentario

  Acepto la política de privacidad

Responsable: FRANCESC RICART MUÑOZ.

Finalidad: Gestionar los comentarios que realizas en este blog.

Destinatarios: No se cederán datos a terceros, salvo obligación legal.

Derechos: Tienes derecho a acceder, rectificar y suprimir los datos, así como otros derechos, como se explica en la política de privacidad.