Todo funciona bien, te coloque algunos comentarios sobre las declaración de variables con var
y let
, espero que te ayuden ya que no es necesario recargar la memoria de variables (claro esto es evidente en programas mas grandes).
<meta charset="UTF-8">
<h1>Recetas de Armando</h1>
<script>
// var declara la variable en todo el alcance del script
// let declara la varible unicamente en el scope, dentro de las llaves {}
// como verificacion es un boolean no es necesario preguntar if (verificacion ==false)
var ingredientes = [];
var cantidad = parseInt(prompt("¿Cuántos ingredientes vas a añadir?"));
var contador = 1;
var verificacion;
while (contador <= cantidad) {
let ingrediente = prompt("Informe el ingrediente " + contador); // let ya no la necesitas fuera del while
verificacion = true;
for (let i = 0; i < ingredientes.length; i++) { // let ya que i no lo necesitas fuera del for
if (ingrediente == ingredientes[i]) {
verificacion = false;
alert("Ingrediente repetido. Ingrese otro");
break;
}
}
if (verificacion) {
ingredientes.push(ingrediente);
contador++;
}
}
console.log(ingredientes);
document.write(ingredientes);
</script>