Voltar para o Blog
Anúncio

Loops e Interações

Olá HaWker! Jeff Bruchado por aqui.

Esse é o quarto artigo da nossa série de artigos que vai cobrir a nossa jornada para Aprender Programação do Zero.

Bom, sem enrolação, vamos começar!

Dentro do universo da programação, os loops têm um papel fundamental. Quando você trabalhar em projetos reais, você vai utilizar loops a todo momento.

Este artigo tem como objetivo elucidar o que são loops, como utilizá-los, e como eles se comportam dentro do ambiente da Programação e do JavaScript.

Laços de repetição, ou loops, são estruturas que permitem repetir um bloco de código diversas vezes, assim como o próprio nome diz, os loops ficam retomando a execução do início do loop até atingir a condição que o pare.

Loops

Assim economizando linhas e facilitando a manutenção do código.

Dessa forma, você permite que seu código previna repetição, aumentando sua mantenabilidade.

Como funciona o Laço de Repetição For

O loop for é uma das estruturas mais utilizadas na programação.

Com ele, é possível definir a inicialização, a condição de parada, e a iteração em uma única linha.

Vamos explorar suas nuances e características, mas antes porque os laços são importantes?

Veja o seguinte problema:

Problema

Você concorda comigo que a escrita acima é feia e repetitiva? Com os loops nós conseguimos resolver esse problema.

Certo, tendo entendido o problema, essa é a sintax básica do Loop for:

Sintaxe For

E sabendo disso, ao invés de escrever repetindo linhas, como escrito na forma acima, você pode escrever da seguinte forma:

For Each

Com isso você consegue aumentar muito a qualidade do seu código, fazendo com que ele seja mais fácil de entender, mais fácil de se manter, e dar alguma manutenção no futuro.

Esse é o principal problema que os loops nas linguagens de programação resolvem.

A seguir vamos entender as nuances e as formas que podemos usar diferentes loops em diferentes tipos de dados.

Loops

Laço de Repetição For...of

O loop for...of facilita a iteração através de objetos iteráveis, como arrays e strings, sem a necessidade de se preocupar com índices. Vamos ver como funciona:

For Of

Laço de Repetição While

O loop while cria uma iteração que continua enquanto a condição definida for verdadeira. Ele é extremamente útil em situações onde não sabemos quantas vezes precisaremos iterar.

Essa é a sintaxe do laço de repetição while:

While

E esse é um exemplo de como usar:

Exemplo While

Loop Infinito: Uma Armadilha a Ser Evitada

Enquanto os loops são ferramentas poderosas, eles também podem ser armadilhas perigosas.

Um loop infinito pode travar seu programa, criando uma operação que nunca termina.

Loop Infinito

Explorar condições de saída adequadas e prevenir a criação inadvertida de loops infinitos é vital para escrever código robusto e eficiente.

E HaWker, eu preciso elucidar que esse problema é mais comum que parece.

Anúncio

Tente notar quando você acessar uma página e perceber que ela parou de responder, pode ser que nela tenha algum loop infinito rodando em background fazendo com que a memória do browser estoure 💥.

Explosão

Laço de Repetição Do-While

Semelhante ao while, o loop do-while garante que o bloco de código seja executado pelo menos uma vez, independentemente da condição, verificando-a apenas no final de cada iteração.

Essa é a sintaxe do do-while:

Do While

E esse é um exemplo de como utilizar:

Exemplo Do While

Loop com Array

Arrays e loops são parceiros inseparáveis na programação.

Ao trabalhar com arrays no JavaScript, temos diversas maneiras de iterar sobre eles, como utilizando os métodos map, filter, e reduce, que facilitam a manipulação de arrays de maneira funcional e declarativa.

Mas também existe uma outra forma, que provavelmente é a mais usada, que é o famoso forEach:

For Each

E aqui um exemplo de como utilizá-lo:

Exemplo For Each

Utilizando Loops com Métodos de String

Loops não são apenas para números ou arrays; eles também podem ser usados com strings!

Podemos, por exemplo, iterar sobre cada caractere de uma string usando um loop for.

For com String

Usando Loops com Funções Assíncronas

Às vezes, pode ser necessário usar loops com funções assíncronas, e o JavaScript moderno nos permite fazer isso elegantemente com a ajuda de async/await.

Vejamos um exemplo:

Async Await

Nota: Este código deve ser executado em um ambiente que suporte async/await, e dentro de uma função assíncrona.

Keyword continue dentro de Loops

A palavra-chave continue permite pular a iteração atual de um loop, continuando diretamente para a próxima iteração. É uma ferramenta valiosa para prevenir a execução de código desnecessário em situações específicas dentro de um loop.

Vamos observar um exemplo onde queremos logar apenas números ímpares de um array:

Exemplo Continue

Neste exemplo, estamos usando o continue para pular a execução do código para números pares, logando apenas os números ímpares.

Keyword break dentro de Loops

A palavra-chave break, por outro lado, permite sair completamente de um loop, interrompendo todas as iterações futuras.

Ela é utilizada para otimizar o código, evitando execuções desnecessárias quando já alcançamos o resultado desejado.

Vamos conferir isso em ação:

Exemplo Break

Neste exemplo, o loop é interrompido assim que i se torna 5, evitando iterações desnecessárias e saindo do loop mais cedo.

Laços Aninhados

Laços aninhados são loops colocados dentro de outros loops.

Apesar de poderosos, eles devem ser utilizados com cuidado, pois podem facilmente levar a problemas de performance, especialmente quando trabalhamos com grandes conjuntos de dados.

Vejamos como podemos usar laços aninhados para criar uma matriz de multiplicação:

Laços Aninhados

Aqui, temos dois loops:

um para i e outro para j. Isso nos permite multiplicar cada combinação de i e j, criando uma tabela de multiplicação.

Anúncio

Loops e Recursão

Às vezes, podemos usar a recursão, um processo em que uma função se chama, como uma alternativa aos loops.

A recursão pode ajudar você a desenvolver soluções mais limpas e mais fáceis de entender para problemas complexos.

Recursão

Conclusão

Pois bem HaWker, como você pode perceber, esse é um artigo bem denso, e de extrema importância.

Como vocês podem perceber, dominar os laços de repetição é fundamental para qualquer desenvolvedor.

Eles oferecem uma maneira poderosa e flexível de iterar sobre conjuntos de dados, executar código repetitivo e criar algoritmos mais complexos e eficientes.

Espero que este artigo tenha ajudado você a entender melhor e a utilizar essas estruturas de controle essenciais no seu dia a dia como programador.

E lembre-se, estou aqui para te ajudar em cada passo do caminho!

Sensacional HaWker! 👏🏻

Chegamos ao fim do nosso quarto artigo. 😮‍💨

E se você chegou até aqui, por favor, responda esse email com "Consegui entender como funcionam os loops!". Para assim eu saber que essa série de artigos está sendo útil pra você.

Caso tenha ficado com alguma dúvida, por favor! Sinta-se a vontade para responder esse email com sua dúvida, vai ser um grande prazer te ajudar.

Somente um verdadeiro HaWker chega até o final.

Parabéns!

Estou feliz em te ter aqui.

Te vejo em breve, bora pra cima! 🦅

- Jeff Bruchado

Anúncio

Parabéns por chegar até aqui, HaWker! 🎉

Nesse momento que você aprendeu sobre loops e interações na programação, que tal testar seus conhecimentos? Participe do quiz abaixo e veja o quanto você absorveu do nosso artigo.

É uma ótima maneira de fixar o aprendizado e se preparar para os próximos passos na sua jornada de programação.

Aperte para acessar o quiz.

Boa sorte e divirta-se!

Post anterior Próximo post

Comentários (1)

Marcos Ezequiel Albano
Marcos Ezequiel Albano11 dias atrás
Oh! Que bom, gostei muito.

Adicionar comentário