← 返回首页
Трансформувати в обʼєкти
UK

Ми хочемо зробити цей проєкт з відкритим кодом доступним для людей у всьому світі.

Допоможіть перекласти цей підручник вашою мовою!

    Пошук
    Пошук
    Світла темаТемна тема
    عربيDanskEnglishEspañolفارسیFrançaisIndonesiaItaliano日本語한국어РусскийTürkçeУкраїнськаOʻzbek简体中文
    назад до уроку

    Трансформувати в обʼєкти

    важливість: 5

    У вас є масив обʼєктів 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 }));

    Тепер усе добре.