3
respostas

Alerta ao usuário que não pode inserir ingredientes repetidos

<meta charset="UTF-8">

<h1>Receitas do Gabriel Jalison</h1>

<script>

var ingredientes = [];
var quantidade = parseInt(prompt("Quantos ingredientes serão adicionados na receita? "));
var contador = 1;
var posicao = 0;

while(contador <= quantidade) {
    var ingrediente = prompt("Informe o ingrediente " + contador);

    if(ingrediente != ingredientes[posicao]) {
        ingredientes.push(ingrediente);
        contador++;
    } else if(ingrediente == ingredientes[posicao]) {
        alert("O ingrediente não pode ser repetido, informe um diferente! ");
    }
}

document.write(ingredientes)

</script>



3 respostas

Foi adicionado um alerta ao usuário que não pode repetir os ingredientes, e retorna a fazer a pergunta no contador correspondente, não sei está correto a sintaxe, mas deu certo meu código : ) .

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

Assim ele só compara ao primeiro ingrediente, exemplo, se vc digitar na primeira vez farinha, depois digitar leite e no terceiro digitar novamente farinha ele vai aceitar.

Testei aqui está comparando todos os itens conforme o esperado, a variável posicao faz a função de contador dos índices da lista de ingredientes, então se o ingrediente a ser inserido for igual a qualquer um dos ingredientes contidos na lista de ingredientes ele dá um alerta e pede para o usuário inserir outro ingrediente que não seja repetido.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

else if(ingrediente == ingredientes[posicao]) {
        alert("O ingrediente não pode ser repetido, informe um diferente! ");
    }

Segue acima o trecho que faz isso acontecer.