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

last ao inves de array.length - 1 javascript

Segue abaixo a solução dada pelo professor:

function createSprite(selector) {

    function hasNext() {

        return current + 1 <= last;
    }

    function moveFrame (from, to) {

        $el.removeClass(from)
            .addClass(to);
    }

    function nextFrame() {

        if (hasNext()) moveFrame (frames[current], frames[++current]);
    }

    var $el = $(selector);

    var frames = [
        'frame1', 'frame2', 'frame3', 'frame4', 'frame5',
        'frame6', 'frame7', 'frame8', 'frame9'
    ];

    var current = 0;

    var last = frames.length - 1;

    $el.addClass(frames[current]);

    return { nextFrame: nextFrame };
}

nao entendi esse last, como ele sabe que é o ultimo do array? o certo nao seria array.length - 1?

3 respostas
solução!

Oi Antonio tudo bem?

O frames é seu array. Então pegamos o comprimento do frames com

 frames.length

e como a contagem no array começa com 0 então fazemos

frames.length - 1

e depois guardamos na variável last com

var last = frames.length - 1;

Espero ter ajudado!!!

Nossa nao tinha visto essa linha. Obrigado

Disponha e bons estudos!!!