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

Dúvida no Ex. 4 da Aula 6 - Arrays: trabalhe com muitos dados

var sorteados = [];
var adicionarSorteado = function() {
        var numero = document.getElementById("numero").value;
        for(var i = 0; i < sorteados.length; i = i + 1) {
            if(sorteados[i] == numero) {
                alert("Numero já sorteado!");
                return;
            }
        }

No código acima foi declarado o array sortados sem nenhum valor (sorteados = [ ] ). No "for": for (var i = 0; i < sorteados.length; i++)

Se "i" é igual a 0 e "sorteados" não tem nenhum elemento, como posso entrar no laço, já que a condição é se "i" for menor que o array "sorteados"?

5 respostas

lembre que 0 é primeira posição do vetor (array).

Por isso mesmo. Se 0 é a primeira posição do array, i = 0 e a condição para entrar no for tem que ser que o tamanho do array tem que ser menor que i (que no caso é 0). Ou seja, o tamanho do array tem que ser menor que 0.

Minha dúvida é, qual é o tamanho desse array inicial quando não é atribuído nenhum elemento a ele? Quando dou um alert() no array gera pra mim um "NaN".

solução!

Luan no exercício tem um input na tela e um botão, o input serve para você informar o numero a ser adicionado e o botão chama a função.

Ao clicar no botão podemos ver que o mesmo executa a função.

No for temos a condição:

for(var i = 0; i < sorteados.length; i = i + 1) {

Nesse caso ele vai entrar no for pois a váriavel i é = 0 e o tamanho do array também é 0, ou seja, i não é maior que o tamanho do array, sendo assim ele entra no for.

Faz a verificação se o numero ja existe no array, caso não existe o mesmo é adicionado.

Valeu, Matheus! Falta de atenção minha. Não fiquei atento a execução do código. Obrigado :)

De nada Luan, sempre que precisar não deixe de nos avisar.