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

comando .length

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

o ingredientes.length ele não só serve para saber o tamanho da array? ou ele lê o array tambem?

estou com dificuldade de entender a logica desse comando.

if( ingredientes[posicao] == ingrediente) {

                existe = true;
                break;
            }

essa parte do ingredientes[posicao] tambem não estou entendendo.

1 resposta
solução!

Bom dia!

A função .length serve para retornar o tamanho do array, devolvendo um numero inteiro.

O importante , no código, são os 3 passos:

for( var posicao = 0; posicao < ingredientes.length; posicao++) {
   if( ingredientes[posicao] == ingrediente) {
      existe = true;
      break;
   }
}

O primeiro passo, é definir uma variável, e inicializá-la. Todo array inicia na posição 0, então:

var posicao = 0

O segundo passo, é definir o critério de encerramento do loop. Aqui, a posição será comparada com o tamanho da lista de ingredientes. Se a lista estiver zerada, então 0 < 0 = falso - não varrerá a lista. Se a lista tiver um ingrediente, então 0 < 1 = verdadeiro - varrerá a lista, e assim por diante

posicao < ingredientes.length

O terceiro passo, é o incremento da variável posição. Neste ponto, quando terminar o processamento do loop, a variável será incrementada em 1. Ela inicia em zero, ao final do loop, ficará com 1. Será feito novo processamento, caso não se atija a regra do passo 2, e a variável ficará com 2.

posicao++

No trecho de sua dúvida, a variável posição serve para varrer cada posição do array e verificar se tal ingrediente já não consta na lista.

Bons estudos.