1
resposta

Alguém consegue entender o porque meu código continua aceitar frutas repetida?

<meta charset="UTF-8">

<h1>Receitas do Yan</h1>

<script>
    var ingredientes = [];

    var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));

    var contador = 1;

    while( contador <= quantidade) {

        var ingrediente = prompt("Informe o ingrediente " + contador);
         var achou=false
        for(var conter=0; conter< ingredientes.length;conter++){

            if(ingrediente[conter]==ingredientes){
                achou=true
                break

            }
        }    
                    if(achou==false){
                    ingredientes.push(ingrediente);
                    contador++;

                    }

    }



    console.log(ingredientes);
</script>
1 resposta

Bom dia João blz? Está certinho a lógica, o único ponto é que você inverteu onde colocar os colchetes dentro do if. Você colocou na variável ingrediente, que é a variável que armazena o que o usuário digitou, mas o correto seria usar os colchetes junto com o conter na variável ingredientes, que é o array que armazena todos os outros ingredientes já informados, assim:

            if(ingrediente==ingredientes[conter]){
                achou=true
                break

            }

Espero ter ajudado, valeu.