Ahora ya sabes escribir programas que toman decisiones, repiten tareas y procesan información paso a paso. Tu código piensa, reacciona y se adapta, igual que tú.
Ejemplo: detectar spam
Supón que estás creando una app donde los usuarios deben elegir un nombre para su perfil. Queremos evitar que usen ciertas letras (por ejemplo, ‘x’, ‘z’ o ‘q’). Vamos a escribir una función que revise si un nombre contiene alguna de esas letras prohibidas.
const contieneLetraProhibida = (nombre) => {
const letrasProhibidas = ['x', 'z', 'q'];
let i = 0;
let hayLetraProhibida = false;
while (i < nombre.length) {
const letraActual = nombre[i];
let j = 0;
while (j < letrasProhibidas.length) {
if (letraActual === letrasProhibidas[j]) {
hayLetraProhibida = true;
}
j++;
}
i++;
}
return hayLetraProhibida;
};
console.log(contieneLetraProhibida('Max')); // true
console.log(contieneLetraProhibida('Mario')); // false
console.log(contieneLetraProhibida('Luiz')); // true
Vamos línea por línea
🔁 Recorres una lista con while. Revisas cada letra prohibida una por una, en orden.
🔍 Dentro de eso, recorres la lista de letras prohibidas. Por cada letra del nombre, revisas si coincide con alguna prohibida.
⚖️ Comparas con if y ===. Si hay coincidencia, marcas que el nombre tiene una letra inválida.
📦 Usas una variable para guardar el resultado. hayLetraProhibida se activa si encontramos algo malo.
🚦 Decides con return al final. La función dice si el nombre pasa la validación o no.
Trabajo independiente
Este ejercicio no es obligatorio, pero te ayudará muchísimo a practicar lo que acabas de aprender. Puedes probarlo directamente en la consola del navegador.
✏️ Ejercicio 6: Validar nombre de producto
Imagina que eres administrador de una tienda y cargas nuevos productos al sistema.
Necesitamos evitar que los nombres contengan ciertos símbolos no permitidos.
Instrucciones:
- Crea una función
esNombreValido(nombreProducto) - Debe devolver
falsesi el nombre contiene alguno de estos símbolos:@,#o$ - Si el nombre está limpio, debe devolver
true - Hazlo usando
while, sin usarincludes()nifor - Usa un array
simbolosProhibidosy dos índices: uno para recorrer el nombre y otro para los símbolos - Prueba la función con al menos tres nombres distintos, uno de ellos con símbolos prohibidos
🎯 Objetivo:
Reforzar el uso de bucles anidados con `while`, validación paso a paso y estructuras de control.
✅ Resultado esperado:
Ver si el nombre del producto es válido o no, en base a la presencia de símbolos prohibidos.
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.