Деструктуризація об'єктів
const car = { make: 'Toyota', model: 'Camry', year: 2020, features: ['power windows', 'rear camera', 'navigation'], safety: { airbags: true, antilock_brakes: true, stability_control: true } }
const books = { count: 3, list: [ { title: 'The Great Gatsby', author: 'F. Scott Fitzgerald', year: 1925 }, { title: 'To Kill a Mockingbird', author: 'Harper Lee', year: 1960 }, { title: '1984', author: 'George Orwell', year: 1949 } ] }
Напишіть функцію, яка отримує об'єкт з ім'ям, прізвищем та віком та використовує деструктуризацію для повернення рядка, що містить інформацію про цю людину в такому форматі: "Мене звати Ім'я Прізвище і мені Вік років". const person = { name: 'Nelli', surname: 'Laroy', age: 25 }; console.log(personInfo(person));
Напишіть функцію, яка приймає об'єкт, що містить інформацію про студента (ім'я, прізвище, оцінки за три предмети) та використовує деструктуризацію для повернення середньої оцінки студента. const student = { name: 'Bruce', surname: 'Lee', grades: [4, 5, 3] }; console.log(calculateAverageGrade(student));
Напишіть функцію, яка отримує масив об'єктів з інформацією про товари (назва, ціна, кількість) та використовує деструктуризацію для обчислення загальної вартості товарів. const items = [ { name: 'Футболка', price: 250, quantity: 2 }, { name: 'Джинси', price: 800, quantity: 1 }, { name: 'Кросівки', price: 1200, quantity: 1 } ]; console.log(calculateTotalCost(items));
Напишіть функцію, яка отримує об'єкт зі списком електронних адрес (поле "emails") та використовує деструктуризацію для повернення першої адреси в цьому списку. const person = { name: 'John', emails: ['john@gmail.com', 'john@example.com', 'john123@yahoo.com'] }; console.log(getFirstEmail(person)); // 'john@gmail.com'
1) Напишіть функцію, яка отримує об'єкт зі списком користувачів (поле "users"), де кожен користувач є об'єктом з полями "ім'я" та "вік", та використовує деструктуризацію для повернення списку користувачів, які старші за 18 років. const data = { users: [ { name: 'John', age: 25 }, { name: 'Jane', age: 17 }, { name: 'Bob', age: 30 }, { name: 'Alice', age: 20 } ] }; console.log(getAdultUsers(data)); // [{ name: 'John', age: 25 }, { name: 'Bob', age: 30 }, { name: 'Alice', age: 20 }]
2) Провести глибоку деструктуризацію об’єкту const musicLibrary = { count: 2, artists: [ { name: 'The Beatles', albums: [ { title: 'Sgt. Pepper\'s Lonely Hearts Club Band', year: 1967, tracks: [ { title: 'With a Little Help from My Friends', duration: '2:44' }, { title: 'Lucy in the Sky with Diamonds', duration: '3:28' }, { title: 'A Day in the Life', duration: '5:33' } ] }, { title: 'Abbey Road', year: 1969, tracks: [ { title: 'Come Together', duration: '4:19' }, { title: 'Something', duration: '3:01' }, { title: 'Here Comes the Sun', duration: '3:06' } ] } ] }, { name: 'Pink Floyd', albums: [ { title: 'The Wall', year: 1979, tracks: [ { title: 'Another Brick in the Wall, Part 2', duration: '3:59' }, { title: 'Comfortably Numb', duration: '6:23' }, { title: 'Hey You', duration: '4:40' } ] }, { title: 'Dark Side of the Moon', year: 1973, tracks: [ { title: 'Speak to Me/Breathe', duration: '3:58' }, { title: 'Time', duration: '7:06' }, { title: 'Money', duration: '6:22' } ] } ] } ] }