O laço for é uma das instruções mais usadas para executar alguma lógica repetidamente.
Em JavaScript, ele é formado pela palavra-chave for, um cabeçalho entre parênteses e um bloco de código que contém o corpo do laço entre chaves.
for (initialization; condition; step) {
// code that is executed repeatedly as long as the condition is true
}
A inicialização normalmente define uma variável contadora, a condição verifica se o laço deve continuar ou parar e o passo incrementa o contador ao final de cada repetição. As partes individuais do cabeçalho são separadas por ponto e vírgula.
const list = ['a', 'b', 'c'];
for (let i = 0; i < list.length; i++) {
// code that should be executed for each item list[i]
}
Definir o passo costuma ser feito com os operadores de incremento e decremento do JavaScript, como mostra o exemplo acima.
Esses operadores modificam uma variável diretamente.
++ soma um a um número, -- subtrai um de um número.
let i = 3;
i++;
// i is now 4
let j = 0;
j--;
// j is now -1
Você é um observador de aves dedicado que acompanha quantas aves visitaram o seu jardim. Normalmente, você usa uma marcação em um caderno para contar as aves, mas você quer trabalhar melhor com os seus dados. Você já digitalizou as contagens de aves por dia das últimas semanas que guardou no caderno.
Agora você quer determinar o número total de aves que contou, calcular a contagem de aves de uma semana específica e corrigir um erro de contagem.
Para praticar, use um laço for para resolver cada uma das tarefas abaixo.
Vamos começar analisando os dados com uma visão geral. Descubra quantas aves você contou no total desde que começou os seus registros.
Implemente uma função totalBirdCount que aceita um objeto do tipo array que contém a
contagem de aves por dia.
Ela deve retornar o número total de aves que você contou.
birdsPerDay = [2, 5, 0, 7, 4, 1, 3, 0, 2, 5, 0, 1, 3, 1];
totalBirdCount(birdsPerDay);
// => 34
Agora que você tem uma noção geral dos seus números de contagem de aves, você quer fazer uma análise mais detalhada.
Implemente uma função birdsInWeek que aceita um objeto do tipo array de contagens de aves
por dia e um número de semana.
Ela retorna o número total de aves que você contou nessa semana específica.
Você pode assumir que as semanas são sempre registradas por completo.
birdsPerDay = [2, 5, 0, 7, 4, 1, 3, 0, 2, 5, 0, 1, 3, 1];
birdsInWeek(birdsPerDay, 2);
// => 12
Você percebeu que, todo o tempo em que tentava acompanhar as aves, havia uma se escondendo em um canto distante do jardim. Você descobriu que essa ave sempre passava dia sim, dia não no seu jardim. Você não sabe exatamente onde ela estava entre esses dias, mas com certeza não estava no seu jardim. Sua intuição de observador de aves também diz que a ave estava no seu jardim no primeiro dia que você registrou na sua lista.
Com essa nova informação, escreva uma função fixBirdCountLog que recebe um objeto do tipo
array de aves contadas por dia como argumento. Ela deve corrigir o erro de contagem
modificando o array fornecido.
birdsPerDay = [2, 5, 0, 7, 4, 1];
fixBirdCountLog(birdsPerDay);
// => [3, 5, 1, 7, 5, 1]
Crie sua conta no Exercism para aprender e dominar JavaScript com 37 conceitos159 exercícios e mentoria humana de verdade, tudo de graça.