Giter Club home page Giter Club logo

goit-js-hw-04's Introduction

Задача 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

goit-js-hw-04's People

Contributors

katemassa avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.