Skip to content

KateMassa/goit-js-hw-04

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Задача 1. Пакування товарів task-1.js Напиши функцію isEnoughCapacity(products, containerSize), яка обчислює, чи помістяться всі товари в контейнер при пакуванні.

Функція оголошує два параметри:

products — об’єкт, у якому ключі містять назви товарів, а їхні значення — кількість цих товарів. Наприклад, { apples: 2, grapes: 4 }. containerSize — число, максимальна кількість одиниць товарів, яку в себе може вмістити контейнер. Функція має повернути результат перевірки, чи помістяться всі товари в контейнер. Тобто порахувати загальну кількість товарів в об’єкті products і повернути true, якщо вона менше або дорівнює containerSize, і false, якщо ні.

Візьми код нижче і встав після оголошення своєї функції для перевірки коректності її роботи. У консоль будуть виведені результати її викликів.

console.log( isEnoughCapacity({ apples: 2, grapes: 3, carrots: 1 }, 8) ); // true console.log( isEnoughCapacity({ apples: 4, grapes: 6, lime: 16 }, 12) ); // false console.log( isEnoughCapacity({ apples: 1, lime: 5, tomatoes: 3 }, 14) ); // true console.log( isEnoughCapacity({ apples: 18, potatoes: 5, oranges: 2 }, 7) ); // false

Оголошена функція isEnoughCapacity(products, containerSize) Виклик isEnoughCapacity({ apples: 2, grapes: 3, carrots: 1 }, 8) повертає true Виклик isEnoughCapacity({ apples: 4, grapes: 6, lime: 16 }, 12) повертає false Виклик isEnoughCapacity({ apples: 1, lime: 5, tomatoes: 3 }, 14) повертає true Виклик isEnoughCapacity({ apples: 18, potatoes: 5, oranges: 2 }, 7) повертає false

Задача 2. Розрахунок калорій task-2.js Напиши функцію calcAverageCalories(days), яка повертає середньодобове значення кількості калорій, які спортсмен споживав протягом тижня. Функція очікує один параметр: days — масив об’єктів. Кожен об’єкт описує день тижня та кількість калорій calories, спожитих спортсменом, у цей день. Візьми код нижче і встав після оголошення своєї функції для перевірки коректності її роботи. У консоль будуть виведені результати її викликів.

console.log( calcAverageCalories([ { day: "monday", calories: 3010 }, { day: "tuesday", calories: 3200 }, { day: "wednesday", calories: 3120 }, { day: "thursday", calories: 2900 }, { day: "friday", calories: 3450 }, { day: "saturday", calories: 3280 }, { day: "sunday", calories: 3300 } ]) ); // 3180

console.log( calcAverageCalories([ { day: "monday", calories: 2040 }, { day: "tuesday", calories: 2270 }, { day: "wednesday", calories: 2420 }, { day: "thursday", calories: 1900 }, { day: "friday", calories: 2370 }, { day: "saturday", calories: 2280 }, { day: "sunday", calories: 2610 } ]) ); // 2270

console.log( calcAverageCalories([]) ); // 0

Оголошена функція calcAverageCalories(days) Такий виклик функції calcAverageCalories повертає 3180 calcAverageCalories([ { day: "monday", calories: 3010 }, { day: "tuesday", calories: 3200 }, { day: "wednesday", calories: 3120 }, { day: "thursday", calories: 2900 }, { day: "friday", calories: 3450 }, { day: "saturday", calories: 3280 }, { day: "sunday", calories: 3300 } ])

Такий виклик функції calcAverageCalories повертає 2270 calcAverageCalories([ { day: "monday", calories: 2040 }, { day: "tuesday", calories: 2270 }, { day: "wednesday", calories: 2420 }, { day: "thursday", calories: 1900 }, { day: "friday", calories: 2370 }, { day: "saturday", calories: 2280 }, { day: "sunday", calories: 2610 } ])

Такий виклик функції calcAverageCalories повертає 0 calcAverageCalories([])

Задача 3. Профіль гравця task-3.js Об’єкт profile описує профіль користувача на ігровій платформі. У його властивостях зберігається ім’я профілю username та кількість активних годин playTime, проведених у грі.

const profile = { username: "Jacob", playTime: 300, };

Доповни об’єкт profile методами для роботи з його властивостями.

Метод changeUsername(newName) повинен приймати рядок (нове ім’я) в параметр newName та змінювати значення властивості username на нове. Нічого не повертає. Метод updatePlayTime(hours) повинен приймати число (кількість годин) у параметр hours та збільшити на нього значення властивості playTime. Нічого не повертає. Метод getInfo() має повертати рядок формату has active hours!, де — це ім’я профілю, а — кількість ігрових годин. Візьми код нижче і встав після оголошення своєї функції для перевірки коректності її роботи. У консоль будуть виведені результати її роботи.

console.log(profile.getInfo()); // "Jacob has 300 active hours!"

profile.changeUsername("Marco"); console.log(profile.getInfo()); // "Marco has 300 active hours!"

profile.updatePlayTime(20); console.log(profile.getInfo()); // "Marco has 320 active hours!"

Оголошена змінна profile Значення змінної profile — це об’єкт з властивостями username, playTime, getInfo, changeUsername і updatePlayTime Значення властивості getInfo — це функція Значення властивості changeUsername — це функція Значення властивості updatePlayTime — це функція Для звернення до властивостей об’єкта в його методах використовується this