Interesante Ejercicio, me surgieron 4 dudas: 1) que pasa si el usuario se equivoca al ingresar la cantidad e ingresa un letra? como lo arregla? 2) Que pasa si repite el mismo ingrediente con letras minúsculas o mayúsculas, como lo evito? 3) Que pasa si deja un elemento vacio? 4) Que ocurre si decide cambiar de cantidad.
En busca de la solución, investigue por internet y logre el siguiente código:
<meta charset="UTF-8">
<h1>Recetas de Armando</h1>
<script>
var ingredientes = [];
var cantidadIngredientes= false
while(cantidadIngredientes==false){
var cantidad = parseInt(prompt("¿Cuántos ingredientes vas a añadir?"));
if (isNaN(cantidad)){
alert("Escriba un número por favor");
} else{
cantidadIngredientes=true;
}
}
var contador = 1;
while(contador <= cantidad) {
var ingrediente = prompt("Informe el ingrediente " + contador);
var repetido =false;
for (var posicion =0; posicion<ingredientes.length;posicion++){
if (ingredientes[posicion].toUpperCase()==ingrediente.toUpperCase() || ingrediente==''){
repetido=true;
alert("Usted ya citó el ingrediente o dejo el campo vacio...");
break;
}
}
if (repetido==false){
ingredientes.push(ingrediente);
contador++;
}
}
console.log(ingredientes);
document.write("Los ingredientes listados son "+ ingredientes);
</script>
1) el uso de la función isNaN() me permite determinar si se equivoco o no al escribir la cantidad 2) Compare las 2 frases (todo con mayúsculas) .toUpperCase() para evitar la repetición, también se puede todo con minúsculas 3) use una doble comparación en if con ||(o) 4) A este no le encuentro aun una solución, pero estoy seguro que mas adelante podre aprender mejor el como gracias por las clases me ayudan mucho en entender y practicar espero que les sirva. Saludos