Acrescentei um alerta que, quando o usuário adiciona um ingrediente repetido, ele é avisado e logo depois pede novamente para que seja adicionado um novo ingrediente.
Fiz uma função que imprime os ingredientes na tela.
Também fiz uma verificação para garantir que o caractere inserido no campo "Quantos ingredientes você vai inserir?" seja um número usando o isNaN() e, caso não seja um número, o usuário será alertado. Fiz os testes e funcionou legal.
Obs: tomei a liberdade de mudar o nome para "Receitas do Diego" :)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Receitas do Diego</title>
</head>
<body>
<h1>Ingredientes da receita do Diego</h1>
<script>
// FUNÇÃO PARA IMPRIMIR OS INGREDIENTES NA TELA
function mostrarIngredientes(palavra) {
document.write("<big>" + palavra + "</big>");
document.write("<br><br>");
}
var ingredientes = [];
var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));
var number = true;
// LAÇO DE REPETIÇÃO PARA VERIFICAR SE O CARACTERE INSERIDO NO CAMPO "quantidade" É UM NÚMERO
// ENQUANTO NÃO FOR INSERIDO UM NÚMERO NESSE CAMPO, UMA ALERTA APARECERÁ PEDINDO PARA QUE O USUÁRIO INSIRA UM NÚMERO
while(isNaN(quantidade)){
alert("Por favor, insira um número válido de ingredientes");
var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));
}
var contador = 1;
while(contador <= quantidade) {
var ingrediente = prompt("Informe o " + contador + "º ingrediente:");
var ingredienteRepetido = false;
for(var posicaoArray = 0; posicaoArray < ingredientes.length; posicaoArray++){
if(ingredientes[posicaoArray] == ingrediente){
ingredienteRepetido = true;
alert("Você já adicionou o ingrediente '" + ingrediente + "' na lista. Por favor, adicione um ingrediente diferente"); // ALERTA AVISANDO QUE O USUÁRIO INSERIU UM INGREDIENTE REPETIDO
break;
}
}
if(ingredienteRepetido == false){
ingredientes.push(ingrediente);
mostrarIngredientes(ingrediente);
contador++;
}
}
</script>
</body>
</html>