Obyektlarga xarita
Sizda user
obyekyektlar massivi mavjud, ularning har birida ism
, familiya
va id
mavjud.
Undan id
va fullName
obyektlarining boshqa massivni yaratish uchun kodni yozing, bu yerda to'liq ism
ism
va familiya
dan hosil bo’ladi.
Masalan:
let john = { name: "John", surname: "Smith", id: 1 };
let pete = { name: "Pete", surname: "Hunt", id: 2 };
let mary = { name: "Mary", surname: "Key", id: 3 };
let users = [ john, pete, mary ];
let usersMapped = /* ... sizning kodingiz ... */
/*
usersMapped = [
{ fullName: "John Smith", id: 1 },
{ fullName: "Pete Hunt", id: 2 },
{ fullName: "Mary Key", id: 3 }
]
*/
alert( usersMapped[0].id ) // 1
alert( usersMapped[0].fullName ) // John Smith
Shunday qilib, aslida siz bir obyektlar massivini boshqasiga solishtirishingiz kerak. Bu erda =>
dan foydalanib ko’ring.
let john = { name: "John", surname: "Smith", id: 1 };
let pete = { name: "Pete", surname: "Hunt", id: 2 };
let mary = { name: "Mary", surname: "Key", id: 3 };
let users = [ john, pete, mary ];
let usersMapped = users.map(user => ({
fullName: `${user.name} ${user.surname}`,
id: user.id
}));
/*
usersMapped = [
{ fullName: "John Smith", id: 1 },
{ fullName: "Pete Hunt", id: 2 },
{ fullName: "Mary Key", id: 3 }
]
*/
alert( usersMapped[0].id ); // 1
alert( usersMapped[0].fullName ); // John Smith
Iltimos, o’q funktsiyalari uchun biz qo’shimcha qavslardan foydalanishimiz kerakligini unutmang.
Biz bunday yozolmaymiz:
let usersMapped = users.map(user => {
fullName: `${user.name} ${user.surname}`,
id: user.id
});
Yodimizda bo’lganidek, ikkita o’q funktsiyasi mavjud: tanasiz value => expr
va tanali value => {...}
.
Bu erda JavaScript {
ni obyektning boshlanishi emas, balki funktsiya tanasining boshlanishi sifatida qabul qiladi. Vaqtinchalik yechim ularni “oddiy” qavslarga o’rashdan iborat:
let usersMapped = users.map(user => ({
fullName: `${user.name} ${user.surname}`,
id: user.id
}));
Endi yaxshi.