Saltar al contenido
Curso de JavaScript
Todos los cursos

Ejercicio: Bucles

  • ⏱ 40 minutos
  • 📶 Nivel: principiante

Objetivo

Escribir seis funciones con bucles: sumas, tablas, conteo de vocales, FizzBuzz, el valor máximo y la inversión de un texto.

Antes de empezar

Estas funciones no necesitan una página. Prueba con console.log en el editor y pega tu código en el comprobador.

▶ Prueba tu código aquí (opcional)
Consola

Pasos

Marca cada paso a medida que lo completes. Tu avance se guarda en este navegador.

💡 Pista 1: `tablaDel`

Crea un array vacío, usa un for de 1 a 10 y añade con push el texto ` ${n} x ${i} = ${n * i} . Al final, return` el array.

💡 Pista 2: FizzBuzz

Comprueba primero los múltiplos de 15 (o de 3 y 5 a la vez); si no, el 3 y el 5 se «comerían» a ese caso.

🔎 Comprueba tu trabajo

Pega tu código y pulsa Comprobar. La revisión ocurre en tu navegador; nada se envía a ningún sitio. Cada punto en rojo incluye una pista.

    ✅ Ver una solución de ejemplo

    Intenta resolverlo antes de mirar. Tu versión puede ser distinta y también correcta.

    app.js
    function sumaHasta(n) {
      let suma = 0;
      for (let i = 1; i <= n; i++) suma += i;
      return suma;
    }
    
    function tablaDel(n) {
      const filas = [];
      for (let i = 1; i <= 10; i++) {
        filas.push(`${n} x ${i} = ${n * i}`);
      }
      return filas;
    }
    
    function contarVocales(texto) {
      let cuenta = 0;
      for (const letra of texto.toLowerCase()) {
        if ("aeiou".includes(letra)) cuenta++;
      }
      return cuenta;
    }
    
    function fizzBuzz(n) {
      const resultado = [];
      for (let i = 1; i <= n; i++) {
        if (i % 15 === 0) resultado.push("FizzBuzz");
        else if (i % 3 === 0) resultado.push("Fizz");
        else if (i % 5 === 0) resultado.push("Buzz");
        else resultado.push(i);
      }
      return resultado;
    }
    
    function mayor(lista) {
      let max = lista[0];
      for (const n of lista) {
        if (n > max) max = n;
      }
      return max;
    }
    
    function invertir(texto) {
      let resultado = "";
      for (let i = texto.length - 1; i >= 0; i--) {
        resultado += texto[i];
      }
      return resultado;
    }

    💡 🏁 Reto extra (opcional)

    Escribe esPrimo(n): devuelve true si n solo es divisible entre 1 y entre sí mismo. Después escribe primosHasta(n) que devuelva todos los primos hasta n.