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

Dúvida em manipulação do Array

O processo para inserir dados no array eu entendi. Porém, não entendi o processo para que os dados já incluídos no Array não se repetirem. Se alguém puder me ajudar a entender essa parte, agradeço.

<meta charset="UTF-8">

<script>

    function mostra(texto){
        document.write(texto + "<br><br>");
    }

    var ingredientes = [];

    var quantidadeIngredientes = parseInt(prompt("Quantos ingredientes você quer incluir?"));

    var contador = 1;

    while(contador <= quantidadeIngredientes){

        for(var posicao = 0; posicao < quantidadeIngredientes; posicao++){

            if(inserido != ingredientes){

                var inserido = prompt("Qual ingrediente " + contador + " ?");

                ingredientes.push(inserido);

                contador++
            }
        }

        if(inserido == ingredientes){

            var inserido = prompt("Qual ingrediente " + contador + " ?");
        }    
    }    

    console.log(ingredientes);

</script>
5 respostas

Boa tarde Luis, a que aula se refere esse código? Tem como postar o link da aula aqui por gentileza.

Boa tarde, tudo bem

É da aula "manipulando muitos dados" do curso de Lógica de programação I .

solução!

Oi eu dei uma mudada no seu código porque ele não tava funcionando tão bem. Dá uma olhada.

<meta charset="UTF-8">

<script>



    function mostra(texto){
        document.write(texto + "<br><br>");
    }

    var ingredientes = [];

    var quantidadeIngredientes = parseInt(prompt("Quantos ingredientes você quer incluir?"));

    var contador = 1;

    while(contador <= quantidadeIngredientes){
        var inserido = prompt("Qual ingrediente " + contador + " ?");

        var boolIngrediente=false;
        for(var posicao = 0; posicao < quantidadeIngredientes; posicao++){

            if(inserido == ingredientes[posicao]){


                boolIngrediente=true;


            }



        }



        if(boolIngrediente==false){
          ingredientes.push(inserido);
          contador++;    

        } else {
          alert(inserido + " já foi inserido.")

        }
    }    

    mostra(ingredientes);

</script>

Funciona assim agora, toda vez que um ingrediente é inserido o laço for percorre todo o vetor ingredientes para ver se não há ninguém repetido, se tem repetido exibe um alerta dizendo que está repetido e não adiciona mais um na variável contador do laço while forçando você a digitar um novo ingrediente, se não achar nenhum repetido adiciona no vetor ingredientes.

Espero ter ajudado!!!

Muito obrigada André. Me ajudou a refletir e entender como um todo.