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

Eu resolvi sem usar o for, tem problema?

<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);

        if(ingrediente==ingredientes){
                var tatendo=true
                alert("este ingrediente está repetido. Reinicie sua receita.")
                break
            }
        if(ingrediente!==ingredientes){
                ingredientes.push(ingrediente);

                contador++;
            }
        }



    document.write(ingredientes);

    console.log(ingredientes);
</script>

Para resolver a questão da repetição, eu não vi a necessidade de usar a função for... O que tem de errado (além de não exercitar a proposta do professor?)

3 respostas
solução!

Infelizmente não irá dá certo. Segue a minha explicação:

Da forma que está escrito se a pessoa colocar:

1 - que quer inserir 3 ingredientes, por exemplo. Se ela colocar o 2ª ingrediente igual ao 1º, o sistema encerra e imprime apenas o 1º ingrediente.

2 - que quer inserir 4 ingredientes, por exemplo. Se ela colocar no 1º ingrediente: trigo, no 2ª ingrediente: leite, no 3º ingrediente: trigo e no 4º ingrediente: trigo. O sistema vai permitir que a partir do 3º ingrediente em diante os ingredientes possam ser iguais aos já inseridos, pq a função IF só vai funcionar e comparar o 1º ingrediente e o 2º ingrediente, do 3º em diante ela não irá mais conseguir comparar.

Explicação do item 2: Quando você coloca o 1º ingrediente ("trigo") o IF vê que ingredientes [] é diferente do ingrediente adicionado "trigo" e insere ele na lista de ingredientes ["trigo"]. # O IF vê que é diferente pq não tem nada lista, vê que realmente é diferente e, então, insere.

Quando você coloca o 2º ingrediente ("leite") o IF vê que ingrediente ["trigo"] é diferente do ingrediente adicionado "leite" e insere ela na sua lista de ingredientes ["trigo", "leite"]. # O IF consegue comparar esse 1 item da sua lista de ingredientes com 1 ingrediente que você está inserindo no 2º ingrediente.

Quando você coloca o 3º ingrediente ("trigo") - repetindo o 1º ingrediente - o IF daí por diante já encara todos os próximos ingrediente que você adicionar diferente da lista de ingredientes ["trigo", "leite"]. # Ele fará isso pq agora na lista tem 2 ingredientes e você está comparando com apenas 1 ingrediente que você está inserindo.

Para isso é necessário o FOR, pois, ele irá verificar toda vez se o item que você adicionou está dentro da lista, pq ele vai em posição em posição na lista comparando cada item com o que você adicionou.

Espero ter ajudado. Abraço e boa jornada!

Entendi, obrigada./:)

De nada.

Espero ter ajudado. Sucesso na sua jornada!!