El bucle for es una de las sentencias que más se usan para ejecutar alguna lógica de forma repetida.
En JavaScript, se compone de la palabra clave for, un encabezado entre paréntesis y un bloque de código que contiene el cuerpo del bucle, encerrado entre llaves.
for (initialization; condition; step) {
// code that is executed repeatedly as long as the condition is true
}
La inicialización normalmente configura una variable contadora, la condición verifica si el bucle debe continuar o detenerse, y el paso incrementa el contador al final de cada repetición. Las partes individuales del encabezado se separan con puntos y coma.
const list = ['a', 'b', 'c'];
for (let i = 0; i < list.length; i++) {
// code that should be executed for each item list[i]
}
Definir el paso suele hacerse con el operador de incremento o decremento de JavaScript, como se muestra en el ejemplo anterior.
Estos operadores modifican una variable en el lugar.
++ le suma uno a un número y -- le resta uno.
let i = 3;
i++;
// i is now 4
let j = 0;
j--;
// j is now -1
Te encanta observar aves y llevas un registro de cuántas han visitado tu jardín. Normalmente, usas anotaciones en un cuaderno para contar las aves, pero quieres trabajar mejor con tus datos. Ya digitalizaste los conteos de aves por día de las últimas semanas que llevabas en el cuaderno.
Ahora quieres determinar el número total de aves que contaste, calcular el conteo de aves de una semana específica y corregir un error de conteo.
Para practicar, usa un bucle for para resolver cada una de las tareas a continuación.
Empecemos por analizar los datos con una vista general. Averigua cuántas aves contaste en total desde que empezaste tus registros.
Implementa una función totalBirdCount que acepte un objeto similar a un array que contenga el conteo de aves por día.
Debe devolver el número total de aves que contaste.
birdsPerDay = [2, 5, 0, 7, 4, 1, 3, 0, 2, 5, 0, 1, 3, 1];
totalBirdCount(birdsPerDay);
// => 34
Ahora que tienes una idea general de tus cifras de conteo de aves, quieres hacer un análisis más detallado.
Implementa una función birdsInWeek que acepte un objeto similar a un array con el conteo de aves por día y un número de semana.
Devuelve el número total de aves que contaste en esa semana específica.
Puedes asumir que las semanas siempre se registran completas.
birdsPerDay = [2, 5, 0, 7, 4, 1, 3, 0, 2, 5, 0, 1, 3, 1];
birdsInWeek(birdsPerDay, 2);
// => 12
Te diste cuenta de que, durante todo el tiempo que estuviste tratando de llevar la cuenta de las aves, había una escondida en un rincón lejano del jardín. Descubriste que esta ave siempre pasaba un día sí y otro no en tu jardín. No sabes exactamente dónde estaba entre esos días, pero definitivamente no estaba en tu jardín. Tu intuición de observador de aves también te dice que el ave estuvo en tu jardín el primer día que registraste en tu lista.
Con esta nueva información, escribe una función fixBirdCountLog que tome como argumento un objeto similar a un array con las aves contadas por día. Debe corregir el error de conteo modificando el array dado.
birdsPerDay = [2, 5, 0, 7, 4, 1];
fixBirdCountLog(birdsPerDay);
// => [3, 5, 1, 7, 5, 1]
Regístrate en Exercism para aprender y dominar JavaScript con 37 conceptos159 ejercicios y mentoría humana real, todo gratis.