Executando verificação de segurança...
3

Um uso bem comum (similar ao seu exemplo) é de percorrer um array de maneira circular (ou, no caso mais geral, quando você precisa "voltar ao início" caso ultrapasse o final de uma sequência):

var i = 6;
var array = [ 0, 1, 2, 3, 4, 5, 6, 7 ];

// avança 4 posições
i = (i + 4) % array.length;
console.log(array[i]); // 2

No exemplo acima, a posição atual é 6. Eu preciso avançar 4, mas se eu só somar 4, vou cair na posição 10, que não existe no array. Então o % faz com que eu "volte ao início". É como se, ao chegar na última posição, eu continuasse a contagem a partir da primeira.

E tem vários outros usos similares, quando vc precisa voltar ao início da sequência, caso ultrapasse o fim da mesma (a Cifra de César é um exemplo clássico).


Vale lembrar ainda que o operador % não se comporta da mesma maneira em todas as linguagens, quando há números negativos envolvidos. Por exemplo, -4 % 26 pode dar 22 ou -4, dependendo da linguagem (ou seja, se usarmos o mesmo algoritmo acima, mas para voltar posições, pode ou não funcionar). Mas aí já é outra história...

Carregando publicação patrocinada...