Ejercicios resueltos de JavaScript - Página 2

Curso de JavaScript desde cero a máster

En esta página tienes numeradas todas las soluciones a los ejercicios realizados durante todo el curso. Si te quedan dudas o tienes un resultado diferente, déjame un comentario, ya que a veces, un ejercicio puede tener muchas posibles soluciones.

Soluciones de ejercicios JavaScript - Página 2

    Capítulo 11

  1. He creado un array con cinco colores cualquiera. No son el color en sí, solo son palabras almacenadas en un string dentro de un array.

  2. Código JS

    let colores = ["verde", "rojo", "azul", "amarillo", "naranja"];
  3. Aquí se pide que se almacene en otra variable el valor del tercer elemento, el tercer elemento, se corresponde a la posición 2 (0, 1, --> 2 <--).

  4. Código JS

    let colores = ["verde", "rojo", "azul", "amarillo", "naranja"];
    let guardaColor = colores[2];
  5. Según lo que te he enseñado en el capítulo, hay dos posibles soluciones, con y sin charAt().

  6. Solución 1

    Código JS

    let colores = ["verde", "rojo", "azul", "amarillo", "naranja"];
    
    console.log(colores[0][0]);

    Solución 2

    Código JS

    let colores = ["verde", "rojo", "azul", "amarillo", "naranja"];
    
    console.log(colores[0].charAt(0));

    Resultado en el navegador

    En ambos casos, devuelve la v en el navegador. Por supuesto, en tu array será diferente, según los colores que hayas escrito. La v se corresponde a la primera letra del primer elemento (verde, posión 0, caracter 0 (v)).

    v

    Capítulo 12

  7. He concatenado en una primera variable dos strings, he creado una segunda variable con un string y he formado una frase en el orden indicado en el ejercicio en una tercera variable a la cual muestro su valor por consola.

  8. Código JS

    let nombre = "Programación" + " Fácil.";
    let saludo = "Os doy la bienvenida a ";
    let fraseCompleta = saludo + nombre;
    
    console.log(fraseCompleta);

    Resultado en la consola

    Os doy la bienvenida a Programación Fácil.
  9. Simplemente hay que llamar a las posiciones del array en el orden correcto. Además, hay que ir añadiendo espacios para separar las palabras.

  10. Código JS

    let frase = ["posiciones", "se cuentan", "Las", "array", "cero.", "a partir", "del"];
    
    let concatenaFrase = frase[2] + " " + frase[0] + " " + frase[6]
        + " " + frase[3] + " " + frase[1] + " " + frase[5] + " " +
        frase[6] + " " + frase[4];
    
    console.log(concatenaFrase);

    Resultado en la consola

    Las posiciones del array se cuentan a partir del cero.
  11. Los espacios que he marcado en amarillo son orientativos, puede que tu solución tenga los espacios delante o detrás de cada string. Lo importante es que quede la frase concatenada correctamente y las palabras separadas.

  12. Código JS

    let frase = "JavaScript " + "es un lenguaje" + " esencial para crear" + " sitios web poderosos.";
    
    console.log(frase);

    Resultado en la consola

    JavaScript es un lenguaje esencial para crear sitios web poderosos.

    Capítulo 13

  13. Concatenar números es fácil, lo hacemos concatenado como si fuese un texto.

  14. Código JS

    let numeroString1 = "10";
    let numeroString2 = "20";
    let numeroString3 = "30";
    
    let concatenaNumeros = numeroString1 + numeroString2 + numeroString3;
    
    console.log(concatenaNumeros);
    

    Resultado en la consola

    102030
  15. Seguimos teniendo 3 strings en la declaración de las variables, pero se transforman a number solo en la variable sumaNumeros con lo que se puede realizar la suma.

  16. Código JS

    let numeroString1 = "10";
    let numeroString2 = "20";
    let numeroString3 = "30";
    
    let sumaNumeros = Number(numeroString1) + Number(numeroString2) + Number(numeroString3);
    
    console.log(concatenaNumeros);
    

    Resultado en la consola

    60
  17. En este caso, solo tienes que crear una nueva variable con algo como "El resultado es: " y a continuación concatenar el valor de sumaNumeros para mostrarlo.

  18. Código JS

    let numeroString1 = "10";
    let numeroString2 = "20";
    let numeroString3 = "30";
    
    let sumaNumeros = Number(numeroString1) + Number(numeroString2) + Number(numeroString3);
    
    let resultado = "El resultado es: " + sumaNumeros;
    
    console.log(resultado);
    

    Resultado en la consola

    El resultado es: 60

    Capítulo 14

  19. Tan fácil como llamar a número y utilizar el operador de asignación de incremento.

  20. Código JS

    let numero = 12;
    numero += 5;
    
    console.log(numero);
    

    Resultado en la consola

    17
  21. En programación hay caminos diferentes para hacer lo mismo, si tu solución es diferente, déjame un comentario si tienes alguna duda. Lo que está claro es que te tiene que dar un resultado de 16, el camino es el que puede variar.

  22. Código JS

    let numero = 12;
    numero += 5;
    numero--;
    
    console.log(numero);
    

    Resultado en la consola

    16
  23. Utilizando el operador de exponenciación podemos simplificar operaciones como estas. El resultado es el mismo en ambos casos y solo necesitamos 2 números y 1 operador, en el ejemplo del enunciado 5 números y 4 operadores de multiplicación.

  24. Código JS

    let multiplicacion = 10**5;
    
    console.log(numero);
    

    Resultado en la consola

    100000
  25. En mi caso he realizado la operación almacenando los números en variables. Si has realizado la operación con una sola variable, está totalmente correcto. En este ejercicio lo único que tienes que utilizar es el operador módulo para que te devuelva el resto de la división.

  26. Código JS

    let numero1 = 57409;
    let numero2 = 16789;
    let calculaResto = numero1 % numero2;
    
    console.log(calculaResto);

    Resultado en la consola

    7042

    Capítulo 15

  27. Posibles soluciones: menor qué (<), menor o igual qué (<=) o diferente qué (!=).

  28. Posibles soluciones: menor qué (<), diferente qué (!=) o mayor qué (>).

  29. Posibles soluciones: igual qué (==), menor o igual qué (<=) o mayor o igual qué (<=).

  30. Una de muchas posibles soluciones podría ser numero1 = 5 y numero2 = 10. Con esto, no se cumpliría la condición del operador mayor o igual qué y nos devolvería false. Cualquier solución en la que el valor de numero1 sea inferior o igual a numero2 devolverá false (hablando de números, si pongo, por ejemplo un string, daría false también. Eso ya es otro tema).

  31. Las soluciones correctas son todas aquellas en las que numero1 y numero2 contienen valores diferentes.

  32. Capítulo 16

  33. Cualquier número que sea mayor o igual a 50 es correcto, ejecuta el bloque if.

  34. Aquí son correctos cualquier valor excepto el número 50.

  35. Hay muchas posibles soluciones. Una de ellas numero1 = 2 * numero2 = 5. El resultado es 10, por lo que se cumple la condición del if, menor o igual qué.

  36. En la primera línea falta el punto y coma. He aprovechado que seguramente tenías la atención sobre el if else ;). La condición del if debe ir entre paréntesis. Por último, falta la llave de cierre del if

  37. let numero1 = 17;
    
    if (numero1 != 10) {
        alert("Se ejecuta el if");
    }else {
        alert("Has fallado, sigue intentándolo.");
    }

    Capítulo 17

  38. Solo debes tener una variable donde almacenar la edad gracias a un prompt().

  39. let edad;
    
    edad = prompt("Introduce tu edad");
  40. Con la condición mayor o igual que 18 contemplamos todas las edades iguales a 18 o superiores. En caso contrario, se ejecuta el else.
    Pese a que se devuelve un string con el prompt(), no es necesario en este ejercicio transformarlo a Number, JavaScript entiende lo que quieres hacer.

  41. let edad;
    
    edad = prompt("Introduce tu edad");
    
    if (edad >= 18){
        alert("Puedes entrar, eres mayor de edad.");
    } else {
        alert("No puedes entrar, eres menor de edad.");
    }

    Por si lo hiciste con la conversión de string a number, este sería un posible resultado.

    let edad;
    
    edad = prompt("Introduce tu edad");
    
    edad = Number(edad);
    
    if (edad >= 18){
        alert("Puedes entrar, eres mayor de edad.");
    } else {
        alert("No puedes entrar, eres menor de edad.");
    }

    También podrías convertir a number directamente el prompt, ahorrando una línea:

    let edad;
    
    edad = Number((prompt("Introduce tu edad")));
    
    if (edad >= 18){
        alert("Puedes entrar, eres mayor de edad.");
    } else {
        alert("No puedes entrar, eres menor de edad.");
    }

    Capítulo 18

    Este capítulo no tiene ejercicios.

    Capítulo 19

  42. El alert() devuelve false, ya que aunque numero1 tiene un valor igual que 10, numero2 no es igual a numero1 y puesto que hay un operador && (and), da un valor de false.

  43. El alert() devuelve true. numero1 es igual a 10 y aunque numero2 no es igual a numero1, puesto que he puesto un || (or), basta con que se cumpla al menos una condición.

  44. El alert() devuelve true. numero1 es igual a 10 o numero2 igual a numero1 y numero1 igual a numero3. Se cumple una de las condiciones del or, la del and no se cumple pero viene precedida del or, es decir, es una parte de la comparación con or.

  45. Esta vez nos da un false. numero1 es igual a 10 pero numero2 no es igual a 10 (5*2).

  46. Este ejercicio da true. Se utiliza el operador de negación (not) diciendo que numero1 no es diferente a 10 (quiere decir que es igual a 10) y que numero3 es igual a 10.

  47. Nos da false. numero1 no es diferente a 10. numero3 si es igual a 10 (5*2) pero puesto que la comparación va con un and, si no se cumplen las dos condiciones, da false.

  48. Capítulo 20

  49. En este condicional se le pide al usuario que intoduzca uno de los colores indicados. Se añade a cada condición la posibilidad de que el color que introduzca el usuario se encuentre escrito o todo en minúsculas, todo en mayúsculas o solo la primera en mayúscula. No es un sistema perfecto. Lo iremos mejorando en el futuro. Si lo que introduce el usuario no es ninguno de los colores proporcionados se le indica gracias al else.

  50. let color = prompt("Elige y escribe uno de los siguientes colores: rojo, azul, amarillo, verde, rosa y negro.");
    
    if (color == "rojo" || "ROJO" || "Rojo"){
        alert("Has elegido el color rojo.");
    }
    
    else if (color == "azul" || "AZUL" ||  "Azul"){
        alert("Has elegido el color azul.");
    }
    
    else if (color == "amarillo" ||  "AMARILLO" ||  "Amarillo"){
        alert("Has elegido el color amarillo.");
    }
    
    else if (color == "verde" ||  "VERDE" ||  "Verde"){
        alert("Has elegido el color verde.");
    }
    
    else if (color == "rosa" || "ROSA" ||  "Rosa"){
        alert("Has elegido el color rosa.");
    }
    
    else if (color == "negro" ||  "NEGRO" ||  "Negro"){
        alert("Has elegido el color negro.");
    }
    
    else{
        alert("¡No has elegido ningún color de la lista!");
    }
    
  51. En este caso, el ejercicio era similar. Se plantea como un minijuego. El usuario escribe un color para intentar acertarlo. Si no está contemplado en el if, le dice el else que ha perdido.

  52. let color = prompt("Elige un color y acierta.");
    
    if (color == "rojo" || "azul" || "amarillo" || "verde" || "rosa" || "negro"){
        alert("Has elegido un color de la lista. ¡Has ganado!");
    } else {
        alert("El color no está en la lista. Has perdido :(");
    }
  53. Se trata de poner siete case, uno para cada día de la semana. Finalmente, un bloque default para contemplar cualquier cosa no contemplada en los case.

  54. let diaSemana = prompt("¿Qué día es hoy?");
    
    switch (diaSemana) {
      case "lunes":
        alert("Hoy es lunes.");
        break;
    
      case "martes":
        alert("Hoy es martes.");
        break;
    
      case "miércoles":
        alert("Hoy es miércoles.");
        break;
    
      case "jueves":
        alert("Hoy es jueves.");
        break;
    
      case "viernes":
        alert("Hoy es viernes.");
        break;
    
      case "sábado":
        alert("Hoy es sábado.");
        break;
    
      case "domingo":
        alert("Hoy es domingo.");
        break;
    
      default:
        alert("Escribe el día de la semana en minúsculas.");
    }

Páginas


Suscríbete a mi canal de YouTube para apoyarme

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.


Comentarios

Si te quedan dudas sobre el temario, sobre JavaScript, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.