Buenas noches, estuve investigando para poder llegar a la solución del ejercicio o por lo menos algo similar. No sé si mi ejercicio es válido pues el programa tenía que avisarte que estás repitiendo un ingrediente y no dejar ingresar ese elemento repetido al arreglo. En mi programa sí permite ingresar elementos repetidos pero al final te muestra el arreglo con todos los elementos diferentes.
<meta charset="UTF-8">
<h1>Recetas de Armando</h1>
<script>
const ingredientes = [].sort();
var cantidad = parseInt(prompt("¿Cuántos ingredientes vas a añadir?"));
var contador = 1;
while( contador <= cantidad) {
var ingrediente = prompt("Informe el ingrediente " + contador);
ingredientes.push(ingrediente);
contador++;
}
var arregloUnico = [];
for(var i = 0; i < ingredientes.length; i++){
if(arregloUnico.includes(ingredientes[i])) {
console.log("Se repite el ingrediente" + ingredientes[i]);
}else {
arregloUnico.push(ingredientes[i])
console.log(arregloUnico)
}
}
console.log(arregloUnico)
console.log(ingredientes);
alert("La lista de ingredientes final es: " + arregloUnico);
</script>