DEV Community

Discussion on: Laços de repetição em Javascript

Collapse
 
eduardoklosowski profile image
Eduardo Klosowski

Artigo interessante, e eu acho muito importante conhecer as estruturas de repetição para na hora do código, utilizar aquela que mais facilita expressar o que está sendo feito.

Um detalhe do for é que todos os seus parâmetros são opcionais, e são ignorados caso não existam, podendo até ser utilizado para fazer um loop infinito com for (;;) { ... } ou até simular um while:

var valores = [1, 2, 3];
var i = 0;
for (; i < valores.length; ) {
    console.log(valores[i]);
    ++i;
}
Enter fullscreen mode Exit fullscreen mode

O forEach() é bem legal junto às arrow functions, como no artigo da pachi, por exemplo:

[1, 2, 3].forEach(v => console.log(v));
Enter fullscreen mode Exit fullscreen mode

Nesse estilo também indico olhar as funções map e filter do Array, exemplos:

var valores = [-3, -2, -1, 0, 1, 2, 3, 4];
var dobro_positivo = valores.map(v => Math.abs(v) * 2);
var pares = valores.filter(v => v % 2 == 0);
Enter fullscreen mode Exit fullscreen mode

Ainda existe uma forma de percorrer uma lista sem utilizar uma estrutura de repetição, que é utilizando recursão, como no artigo do jpbrab0, embora essas formas normalmente não são tão otimizadas em linguagens não puramente funcionais.

Lendo o seu texto, lembrei do meu primeiro que publiquei aqui, se quiser dar uma olhada seque o link.