Треки
/
JavaScript
JavaScript
/
Вправи
/
Спостерігач за птахами
Спостерігач за птахами

Спостерігач за птахами

Навчальна вправа

Вступ

Цикл for - одна з найуживаніших інструкцій для багаторазового виконання певної логіки. У JavaScript він складається з ключового слова for, заголовка в круглих дужках (()) і блоку коду, що містить тіло циклу у фігурних дужках ({}).

for (initialization; condition; step) {
  // code that is executed repeatedly as long as the condition is true
}

Ініціалізація зазвичай створює змінну-лічильник, умова перевіряє, чи слід продовжувати чи зупиняти цикл, а крок збільшує лічильник наприкінці кожного повторення. Окремі частини заголовка розділені крапками з комою.

const list = ['a', 'b', 'c'];
for (let i = 0; i < list.length; i++) {
  // code that should be executed for each item list[i]
}

Визначення кроку часто роблять за допомогою оператора інкременту або декременту JavaScript, як показано в прикладі вище. Ці оператори змінюють значення змінної на місці. ++ додає одиницю до числа, -- віднімає одиницю від числа.

let i = 3;
i++;
// i is now 4

let j = 0;
j--;
// j is now -1

Вказівки

Ми завзятий спостерігач за птахами й ведемо облік того, скільки птахів завітало до нашого саду. Зазвичай ми ведемо підрахунок у записнику, але хочемо працювати з даними зручніше. Ми вже оцифрували щоденні підрахунки птахів за минулі тижні, які вели в записнику.

Тепер ми хочемо визначити загальну кількість порахованих птахів, обчислити кількість птахів за конкретний тиждень і виправити помилку в підрахунку.

Note

Щоб потренуватися, розвʼяжіть кожне із завдань нижче за допомогою циклу for.

1. Визначте загальну кількість птахів, яких ми порахували на цей момент

Почнімо аналізувати дані із загального огляду. Зʼясуйте, скільки всього птахів ми порахували відтоді, як почали вести записи.

Реалізуйте функцію totalBirdCount, яка приймає обʼєкт, подібний до масиву, з кількістю птахів за кожен день. Вона має повернути загальну кількість порахованих птахів.

birdsPerDay = [2, 5, 0, 7, 4, 1, 3, 0, 2, 5, 0, 1, 3, 1];
totalBirdCount(birdsPerDay);
// => 34

2. Обчисліть кількість птахів, що завітали, за конкретний тиждень

Тепер, коли ми маємо загальне уявлення про свої підраунки птахів, хочеться перейти до детальнішого аналізу.

Реалізуйте функцію birdsInWeek, яка приймає обʼєкт, подібний до масиву, з підрахунками птахів за кожен день, і номер тижня. Вона повертає загальну кількість птахів, порахованих за цей конкретний тиждень. Можна припустити, що тижні завжди записані повністю.

birdsPerDay = [2, 5, 0, 7, 4, 1, 3, 0, 2, 5, 0, 1, 3, 1];
birdsInWeek(birdsPerDay, 2);
// => 12

3. Виправте помилку в підрахунку

Ми зрозуміли, що весь час, поки ми намагалися стежити за птахами, один птах ховався в далекому куточку саду. Ми зʼясували, що цей птах завжди проводив у нашому саду кожен другий день. Ми не знаємо точно, де він був у проміжні дні, але точно не в нашому саду. Інтуїція спостерігача за птахами також підказує, що цей птах був у нашому саду першого дня, записаного в нашому списку.

З огляду на цю нову інформацію, напишіть функцію fixBirdCountLog, яка приймає як аргумент обʼєкт, подібний до масиву, з кількістю птахів, порахованих за кожен день. Вона має виправити помилку в підрахунку, змінивши переданий масив.

birdsPerDay = [2, 5, 0, 7, 4, 1];
fixBirdCountLog(birdsPerDay);
// => [3, 5, 1, 7, 5, 1]
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
JavaScript Exercism

Час розпочати Спостерігач за птахами?

Зареєструйтеся на Exercism, щоб вивчати й опановувати JavaScript, а також 37 концепцій159 вправ та справжнє наставництво від людей, і все це безкоштовно.