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

Utilizando a mesma variavel

Nao ha problema em utilizar a mesma variavel "ingrediente"? Declarou ela no array e mas abaixo no while também recebendo a resposta do usuario.

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

        var existe = false;

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

            if( ingredientes[posicao] == ingrediente) {

                existe = true;
                break;
            }
        }

        if( existe == false) {

            ingredientes.push(ingrediente);
            contador++;
        }
    }

    console.log(ingredientes);
</script>
5 respostas

Não entendi sua dúvida..

Mas como a variável ingrediente é um array, ela pode receber diversos valores em cada posição, então ela pode literalmente ter vários ingredientes em cada casa(posição) haha.

o ingredientes.push, faz com que ele acrescente uma posição no ultimo espaço pra adicionar algo novo. ou seja se você teem 2 ingredientes, ele vai criar mais um espaço e colocar mais um ingrediente na ultima casa, e ai você terá 3.

Na resposta do usuário, é ingrediente no singular! Então são duas variáveis diferentes. ingrediente e ingredientes

solução!

Janile, repara que não foi criada a variável "ingrediente" duas vezes. No array o nome da variável é ingredienteS no plural

var ingredientes = [];

e dentro do while o nome da variável é ingrediente no singular

var ingrediente = ...;

Minha duvida persiste porque no video Flavio faz um exemplo utilizando a variavel segredos dentro da funcao sorteiaNumeros(quantidade) e depois declara ela novamente fora da funcao (e as duas estao no plural).

function sorteiaNumeros(quantidade) {

    var segredos = [];
    var numero = 1;
    while(numero <= quantidade) {
        segredos.push(sorteia());
    }
    return segredos;
}

var segredos= sorteiaNumeros(3);

As variáveis em Javascript são locais ou globais. Uma variável local pode ter o mesmo nome que uma variável global, mas é totalmente separada. A alteração do valor de uma variável não afeta a outra. Somente a versão local tem significado dentro da função na qual ela é declarada.

Conseguiu entender?