goit-js-hw-03 ถูกสร้างขึ้นtask-номер_завдання.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 ) { } ,
} ;