Resolvi incrementar um pouco e além do proposto no exercício adicionei uma funcionalidade. Ao informar os ingredientes o resultado é exibido em formato de lista, podendo toda vez que clicado o botão ele gere uma lista e adicione mais itens a lista de ingredientes. Segue o código abaixo. Se alguém tiver alguma sugestão de melhoria fique à vontade.
<!DOCTYPE html>
<meta charset="UTF-8" />
<body>
<h1>Receitas do Luiz</h1>
<input
type="button"
onclick="listaIngredientes()"
value="Gerar Lista de Ingredientes"
/>
<ul id="lista"></ul>
<script>
function listaIngredientes() {
var ingredientes = [];
var lista = document.getElementById('lista');
var contador = 1;
var quantidade = parseInt(
prompt("Quantos ingredientes você vai adicionar?")
);
while(contador <= quantidade) {
var ingrediente = prompt("Informe o ingrediente " + contador);
var ingredienteRepetido = false;
for (var posicao = 0; posicao < ingredientes.length; posicao++) {
if (ingredientes[posicao] == ingrediente) {
ingredienteRepetido = true;
alert("Ingrediente REPETIDO! Informe um novo ingrediente.");
break;
}
}
if (ingredienteRepetido == false) {
ingredientes.push(ingrediente);
contador++;
}
}
for (var i = 0; i < ingredientes.length; i++) {
var item = document.createElement('li');
item.appendChild(document.createTextNode(ingredientes[i]));
lista.appendChild(item);
}
console.log(ingredientes);
}
</script>
</body>