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

Inserindo dados no Array

No último exercício, vimos o código:

<script>
var sorteados = [];

var adicionarSorteado = function() {
    var numero = document.getElementById("numero").value;

    for(var i = 0; i < sorteados.length; i++) {
        if(sorteados[i] == numero) {
            alert("Número já sorteado!");
            return;
        }
    }

    sorteados.push(numero);
    console.log(sorteados);
}

var botao = document.getElementById("verificar");
botao.onclick = adicionarSorteado;
</script>

Queria saber como o javascript lida com a condição 'i < sorteados.length' no for quando temos um array vazio.

Qual o length inicial do array, se ele está vazio?

Se, sorteados.length = 0 ou vazio e i = 0, como i pode ser < 0? i seria = 0 = sorteados.length. Não?

Desde já, obrigada.

2 respostas

Olá! Se o seu array está vazio, length retornará 0, logo, seu código dentro do for nunca será executado, porque a condição é "menor que".

Consegui tirar sua dúvida, abraço!

solução!

De fato, na primeira execução o for não será executado.

Porém após o for através da linha sorteados.push(numero);, o array passará a ter tamanho <> 0, com isso será executada a estrutura de repetição.