goit-js-hw-03task-номер_завдання.js استخدم <script type="module"> لإغلاق رمز المهمة في نطاق منفصل وتجنب تعارضات أسماء المعرفات. اكتب برنامج نصي ، لكائن user ، بالتتابع:
mood ذي قيمة 'happy'hobby عن طريق 'skydiving'premium على falseuser ключ:значення باستخدام Object.keys() و for...of const user = {
name : "Mango" ,
age : 20 ,
hobby : "html" ,
premium : true ,
} ; اكتب ميزة countProps(obj) التي تحسب عدد الخصائص في الكائن. تُرجع الوظيفة الرقم - عدد الخصائص.
const countProps = function ( obj ) {
// твій код
} ;
/*
* Викличи функції для перевірки працездатності твоєї реалізації.
*/
console . log ( countProps ( { } ) ) ; // 0
console . log ( countProps ( { name : "Mango" , age : 2 } ) ) ; // 2
console . log ( countProps ( { mail : "[email protected]" , isOnline : true , score : 500 } ) ) ; // 3 اكتب ميزة findBestEmployee(employees) التي تقبل كائن الموظفين وإرجاع اسم الأكثر إنتاجية (التي أجرت المزيد من جميع المهام). يتم احتواء الموظفين وعدد المهام المنجزة كخصائص للكائن في التنسيق "ім'я":"кількість задач" .
const findBestEmployee = function ( employees ) {
// твій код
} ;
/*
* Викличи функції для перевірки працездатності твоєї реалізації.
*/
console . log (
findBestEmployee ( {
ann : 29 ,
david : 35 ,
helen : 1 ,
lorence : 99 ,
} )
) ; // lorence
console . log (
findBestEmployee ( {
poly : 12 ,
mango : 17 ,
ajax : 4 ,
} )
) ; // mango
console . log (
findBestEmployee ( {
lux : 147 ,
david : 21 ,
kiwi : 19 ,
chelsy : 38 ,
} )
) ; // lux اكتب كائن مقياس ملف countTotalSalary(employees) . تحسب الوظيفة إجمالي كمية رواتب الموظفين وإرجاعها. كل حقل من الكائن المنقولة إلى الوظيفة له شكل "ім'я":"зарплата" .
const countTotalSalary = function ( employees ) {
// твій код
} ;
/*
* Викличи функції для перевірки працездатності твоєї реалізації.
*/
console . log ( countTotalSalary ( { } ) ) ; // 0
console . log (
countTotalSalary ( {
mango : 100 ,
poly : 150 ,
alfred : 80 ,
} )
) ; // 330
console . log (
countTotalSalary ( {
kiwi : 200 ,
lux : 50 ,
chelsy : 150 ,
} )
) ; // 400 اكتب ميزة getAllPropValues(arr, prop) التي تتلقى مجموعة من الكائنات واسم الخاصية. إرجاع مجموعة من قيم خاصية prop معينة من كل كائن في صفيف.
const products = [
{ name : "Радар" , price : 1300 , quantity : 4 } ,
{ name : "Сканер" , price : 2700 , quantity : 3 } ,
{ name : "Дроїд" , price : 400 , quantity : 7 } ,
{ name : "Захоплення" , price : 1200 , quantity : 2 } ,
] ;
const getAllPropValues = function ( arr , prop ) {
// твій код
} ;
/*
* Викличи функції для перевірки працездатності твоєї реалізації.
*/
console . log ( getAllPropValues ( products , "name" ) ) ; // ['Радар', 'Сканер', 'Дроїд', 'Захоплення']
console . log ( getAllPropValues ( products , "quantity" ) ) ; // [4, 3, 7, 2]
console . log ( getAllPropValues ( products , "category" ) ) ; // [] اكتب وظيفة calculateTotalPrice(allProdcuts, productName) التي تتلقى مجموعة كائن واسم المنتج (قيمة خاصية name ). يعود التكلفة الإجمالية للمنتج (السعر * كمية).
وظائف المكالمات للتحقق من التنفيذ.
const products = [
{ name : "Радар" , price : 1300 , quantity : 4 } ,
{ name : "Сканер" , price : 2700 , quantity : 3 } ,
{ name : "Дроїд" , price : 400 , quantity : 7 } ,
{ name : "Захоплення" , price : 1200 , quantity : 2 } ,
] ;
const calculateTotalPrice = function ( allProdcuts , productName ) {
// твій код
} ;
/*
* Викличи функції для перевірки працездатності твоєї реалізації.
*/
console . log ( calculateTotalPrice ( products , "Радар" ) ) ; // 5200
console . log ( calculateTotalPrice ( products , "Дроїд" ) ) ; // 2800 اكتب سيناريو إدارة المكتب الشخصي لبنك الإنترنت. هناك account للمحاسبة حيث من الضروري تنفيذ طرق للعمل مع الميزانية العمومية وتاريخ المعاملات.
/*
* Типів транзацкій всього два.
* Можна покласти або зняти гроші з рахунку.
*/
const Transaction = {
DEPOSIT : "deposit" ,
WITHDRAW : "withdraw" ,
} ;
/*
* Кожна транзакція - це об'єкт з властивостями: id, type і amount
*/
const account = {
// Поточний баланс рахунку
balance : 0 ,
// Історія транзакцій
transactions : [ ] ,
/*
* Метод створює і повертає об'єкт транзакції.
* Приймає суму і тип транзакції.
*/
createTransaction ( amount , type ) { } ,
/*
* Метод відповідає за додавання суми до балансу.
* Приймає суму танзакції.
* Викликає createTransaction для створення об'єкта транзакції
* після чого додає його в історію транзакцій
*/
deposit ( amount ) { } ,
/*
* Метод відповідає за зняття суми з балансу.
* Приймає суму танзакції.
* Викликає createTransaction для створення об'єкта транзакції
* після чого додає його в історію транзакцій.
*
* Якщо amount більше, ніж поточний баланс, виводь повідомлення
* про те, що зняття такої суми не можливо, недостатньо коштів.
*/
withdraw ( amount ) { } ,
/*
* Метод повертає поточний баланс
*/
getBalance ( ) { } ,
/*
* Метод шукає і повертає об'єкт транзакції по id
*/
getTransactionDetails ( id ) { } ,
/*
* Метод повертає кількість коштів
* певного типу транзакції з усієї історії транзакцій
*/
getTransactionTotal ( type ) { } ,
} ;