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

Fiz sem usar o for(), é valido também ?

Boa Noite !

Em vez de usar for() eu utilizei if() e else(). O código funciona, posso considerar como correto ou eu realmente deveria ter usado o for ?

Obrigada

<meta charset = "UTF-8">


<h1> Receitas </h1>

<script>

function exibe(string) {
    document.write(string);
}


function pulaLinha() {
    document.write("<br> <br>");
}


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 repetido = false
    var posicao = 0 

    if(ingrediente == ingredientes[posicao]) {
       repetido = true;
       alert("Ingrediente já adicionado");
       break;
    } else {
     repetido = false
    ingredientes.push(ingrediente);
    contador++
      }
}

console.log(ingredientes);

exibe("<b> Lista de ingredientes </b>");
pulaLinha();
exibe(ingredientes);


</script>
digo aqui
2 respostas
solução!

Olá Keli, como está?

Dessa forma que você fez ele não funcionará muito bem, por exemplo, se você deseja adicionar 3 ingredientes e escolher por exemplo [tomate, pão, tomate] seu algoritmo irá funcionar, mas se colocar [pão, tomate, tomate] ele vai permitir.

Isso está acontecendo porque você está apenas comparando se o ingrediente inserido já foi adicionado antes na primeira posição da array.

Será necessário percorrer toda a array pra verificar se o ingrediente não está na lista ok.

Qualquer dúvida pode mandar aqui.

Sucesso o/

Ahh entendi, vou revisar a aula então para entender melhor. Obrigada Welton