RETOS INTERACTIVOS

Practicar JavaScript sin adivinar.

18 ejercicios independientes con entradas diferentes, soluciones razonadas, pistas progresivas y corrección del comportamiento.

18 ejercicios disponibles

Los intentos y resultados quedan en tu navegador.

Abrir editor libre →
Inicial01 / 18

Duplica un número

Implementa doble(n), que devuelva el número multiplicado por dos.

Inicial02 / 18

Construye un saludo

Implementa saludo(nombre), que devuelva "Hola, NOMBRE". No uses console.log como resultado.

Inicial03 / 18

Calcula el precio total

Implementa total(precio, cantidad). Devuelve el importe multiplicado, incluso si cantidad es 0.

Inicial04 / 18

Comprueba una edad

Implementa esMayor(edad). Devuelve true para edades de 18 en adelante y false para las demás.

Inicial05 / 18

Clasifica una nota

Implementa clasificar(nota): "excelente" si es 9 o más, "aprobado" si es al menos 5 y "repasar" en los demás casos.

Intermedio06 / 18

Revisa dos requisitos

Implementa acceso(edad, entrada). Devuelve true solo si edad >= 18 y entrada es true.

Inicial07 / 18

Encuentra el último elemento

Implementa ultimo(lista), que devuelva el último elemento o undefined si la lista está vacía.

Inicial08 / 18

Suma una lista

Implementa sumar(lista) y devuelve la suma de sus números. Una lista vacía debe producir 0.

Intermedio09 / 18

Filtra valores pares

Implementa pares(lista) y devuelve un array nuevo con los números pares en el mismo orden.

Intermedio10 / 18

Extrae los nombres

Implementa nombres(personas) y devuelve un array con la propiedad nombre de cada objeto, respetando el orden.

Intermedio11 / 18

Busca un objeto por ID

Implementa buscar(lista, id) y devuelve el objeto con ese id. Si no existe, devuelve null.

Intermedio12 / 18

Formatea un precio

Implementa euros(cantidad), que devuelva exactamente dos decimales y el texto " €" al final.

Intermedio13 / 18

Cuenta letras tras limpiar

Implementa longitudLimpia(texto). Devuelve la cantidad de caracteres tras quitar espacios de los extremos.

Intermedio14 / 18

Busca ignorando mayúsculas

Implementa contiene(texto, consulta). Devuelve true si el texto contiene la consulta sin distinguir mayúsculas.

Intermedio15 / 18

Filtra tareas no completadas

Implementa pendientes(tareas), que devuelva un array nuevo de tareas donde hecha sea false. Este dato después se dibuja en el DOM.

Reto16 / 18

Alterna una tarea sin mutarla

Implementa alternar(tarea), que devuelva un objeto nuevo con hecha invertido, sin modificar el original.

Reto17 / 18

Describe el estado de una carga

Implementa async resumen(p), que espere la promesa p y devuelva "listo" si se resuelve o "error" si se rechaza.

Reto18 / 18

Filtra productos disponibles

Implementa disponibles(productos, maximo), que devuelva nombres de productos con stock > 0 y precio <= maximo.