Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não existe ingrediente repetido aqui!

Bom dia,

Estou uma dúvida no desafio 11, mesmo eu incluindo a minha variável existe para verificar a condição no qual os ingredientes repetidos existem ou não, ele continua aceitando ingredientes repetidos, onde está o erro?

//Receitas do Yan

    var ingredientes = []; //criação do arranjo

    var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?")); //perguntei a quantidade de elementos do arranjo pro usuário

    var contador = 1; //contador pra usar no while

    while( contador <= quantidade) { //enquanto contador for menor que a quantidade repetir

        var ingrediente = prompt("Informe o ingrediente " + contador); //variável pra armazenar o ingrediente, incrementando com o contador 

        var existe = false; //variável para iniciar a comparação dos ingredientes

            for (var posicao = 0; posicao <= ingredientes.length; posicao++){ //repetição pra checar cada posição do arranjo se já existe ou não

                if(ingrediente[posicao] == ingrediente){ //condição do arranjo que informe se os ingredientes são iguais
                    existe = true; 
                    break;
                }
            }
                if(existe == false){ //caso seja falso os ingredientes são diferentes, vou acrescentar e depois aumentar o contador da minha repetição
                    ingredientes.push(ingrediente);
                    contador++;    
                }
    }

    alert(ingredientes);
1 resposta
solução!

Oi Victor, bom dia, tudo bem?

Tem apenas um errinho dentro do seu for, na verificação! Você colocou ingrediente[posicao] mas ingrediente não é um array, é apenas o elemento. O ideal seria ingredientes[posicao], dessa maneira:

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

Agora deve funcionar de maneira correta! Espero ter ajudado =)