# Estrutura de repetição

%[https://www.youtube.com/watch?v=vtIi6ASzNOs&list=PLcQQun5wwBt6UHHlRv6wcFVgahOHPAhWb&index=7] 

[![](https://cdn.hashnode.com/res/hashnode/image/upload/v1768417689084/0d93df31-1868-4e62-b3e8-25df344bb4a8.jpeg align="center")](https://www.udemy.com/course/logica-de-programacao-com-pascalzim/?referralCode=E547897C16AD4FF23AED)

**Loops** verificam uma condição.

Se retornar **true**, um bloco de código será executado. Então a condição será verificada novamente e, se ela ainda retornar **true**, o bloco de código será executado novamente.

Ela é repetida até a condição retornar **false**.

Há três tipos comuns de loops:

**For - percorre um bloco de código várias vezes.**

```javascript
for (let i = 0; i < 5; i++) {
		let msg = `Número ${i}`;
		console.log(msg);
}

// OUTPUT: Número 0 ... Número 4
```

**For/in - percorre as propriedades de um objeto.**

```javascript
let users = {fname: "Bruno", lname: "Lima", age:26};

for(let x in users) {
		let msg = `${users[x]}`;
		console.log(msg);
}

// OUTPUT: Bruno, Lima, 26
```

**For/of - percorre os valores de um objeto iterável.**

```javascript
let cars = ['Celta','Fusca','Gol'];

for (let x of cars) {
		let msg = `Modelo: ${x}`;
		console.log(msg);
}

// OUTPUT: Modelo: Celta, Modelo: Fusca, Modelo: Gol
```

**While - percorre um bloco de código enquanto uma condição especificada é verdadeira.**

```javascript
let i = 0;
while (i <= 10) {
	let mult = (i*10);
  console.log(`${i} x 10 = ${mult}`);
  i++;
}

// OUTPUT: 0 x 10 = 0 ... 10 x 10 = 100
```

**Do while - também percorre um bloco de código enquanto uma condição especificada é verdadeira.**

```javascript
let i = 0;
do {
  let msg = `Número ${i}`;
  console.log(msg);
  i++;
} while (i <= 10);

// OUTPUT: Número 0 ... Número 10
```

**forEach - método que executa um callback fornecido uma vez para cada elemento em uma matriz em ordem com um valor atribuído.**

```javascript
let sum = 0;
let numbers = [10,20,30,40,50];

numbers.forEach(myFunction);

function myFunction(item) {
    sum += item;
    console.log(sum);
}

// OUTPUT: 10, 30, 60, 100, 150
```

---

[![](https://cdn.hashnode.com/res/hashnode/image/upload/v1768417750677/45b1a5d4-75cd-4b1c-9b4f-555f4d7392a5.jpeg align="center")](https://www.udemy.com/course/logica-de-programacao-com-pascalzim/?referralCode=E547897C16AD4FF23AED)

### Conclusão

Os loops são poderosas estruturas de controle de fluxo que permitem a execução repetida de um bloco de código enquanto uma condição específica é atendida. Com tipos como for, for/in, for/of, while, do while e forEach, é possível manipular arrays, objetos e iteráveis de forma eficiente. Cada tipo de loop tem suas características e usos específicos, oferecendo flexibilidade e praticidade na programação. Ao dominar o uso dos loops, os desenvolvedores podem escrever código mais conciso, legível e eficiente.
