Трансформувати в обʼєкти
У вас є масив обʼєктів user
, і у кожного з обʼєктів є name
, surname
та id
.
Напишіть код, який створить ще один масив обʼєктів з параметрами id
й fullName
, де fullName
– складається з name
та surname
.
Наприклад:
let ivan = { name: "Іван", surname: "Іванко", id: 1 }; let petro = { name: "Петро", surname: "Петренко", id: 2 }; let mariya = { name: "Марія", surname: "Мрійко", id: 3 }; let users = [ ivan, petro, mariya ]; let usersMapped = /* ... ваш код ... */ /* usersMapped = [ { fullName: "Іван Іванко", id: 1 }, { fullName: "Петро Петренко", id: 2 }, { fullName: "Марія Мрійко", id: 3 } ] */ alert( usersMapped[0].id ) // 1 alert( usersMapped[0].fullName ) // Іван Іванко
Отже, насправді вам потрібно трансформувати один масив обʼєктів в інший. Спробуйте використовувати =>
. Це невелика хитрість.
let ivan = { name: "Іван", surname: "Іванко", id: 1 }; let petro = { name: "Петро", surname: "Петренко", id: 2 }; let mariya = { name: "Марія", surname: "Мрійко", id: 3 }; let users = [ ivan, petro, mariya ]; let usersMapped = users.map(user => ({ fullName: `${user.name} ${user.surname}`, id: user.id })); /* usersMapped = [ { fullName: "Іван Іванко", id: 1 }, { fullName: "Петро Петренко", id: 2 }, { fullName: "Марія Мрійко", id: 3 } ] */ alert( usersMapped[0].id ); // 1 alert( usersMapped[0].fullName ); // Іван Іванко
Зверніть увагу, що для стрілкових функцій ми повинні використовувати додаткові дужки.
Ми не можемо написати ось так:
let usersMapped = users.map(user => { fullName: `${user.name} ${user.surname}`, id: user.id });
Як ми памʼятаємо, є дві функції зі стрілками: без тіла value => expr
та з тілом value => {...}
.
Тут JavaScript трактуватиме {
як початок тіла функції, а не початок обʼєкта. Щоб обійти це, потрібно укласти їх в круглі дужки:
let usersMapped = users.map(user => ({ fullName: `${user.name} ${user.surname}`, id: user.id }));
Тепер усе добре.