Hola, me parece que en este caso no se puede usar el For en lugar del While porque el contador debe estar dentro del último if para que se ingresen la cantidad de ingredientes solicitados. A alguien le resultó el código usando For??
<meta charset="UTF-8">
<h1>Recetas de Armando </h1>
<script>
var ingredientes = [];
var cantidad = parseInt(prompt("¿Cuántos ingredientes vas a añadir?"));
for(var contador = 1; contador <= cantidad; contador++) {
var ingrediente = prompt("Informe el ingrediente " + contador);
var existe = false;
for(var posicion = 0; posicion < ingredientes.length; posicion++) {
if(ingredientes[posicion] == ingrediente){
existe = true;
alert("repetido " + ingrediente);
break;
}
}
if(existe == false) {
ingredientes.push(ingrediente);
}
}
console.log(ingredientes);
</script>