Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Exercício do Yan - Não consigo encontrar o erro.

Olá. Eu tentei fazer o exercício do Yan e acredito que fiz o código de forma correta, mas quando eu rodo na página do chrome ele indica no console um erro na parte do if onde os ingredientes são colocados dentro do array de ingredientes se o valor de achou é false (linha 26). Se alguém puder me ajudar eu agradeço.

<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 número " + contador);

        var achou = false; 

        for (var posicao = 0; posicao < ingredientes.length; posicao++){

            if (ingredientes[posicao] == ingrediente){
                achou = true;
                break
            }
        }

        if achou == false {
        ingredientes.push(ingrediente);
        contador++;
        }     
    } 
    console.log(ingredientes);
</script>
2 respostas
solução!

Opa fala Felipe de boa?

seu codigo está errado apenas no if

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

eu formatei seu código, espero ter ajudado.

<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 número " + contador);

        var achou = false; 

        for (var posicao = 0; posicao < ingredientes.length; posicao++){

            if (ingredientes[posicao] == ingrediente){
                achou = true;
                break
            }
        }

        if (achou == false) {
          ingredientes.push(ingrediente);
          contador++;
        }     
      } 
    console.log(ingredientes);
</script>

Era uma coisa tão banal mas eu fiquei 20 minutos olhando para o código e não percebi. Muito obrigado pela ajuda.