ТÑанÑÑоÑмÑваÑи в обʼÑкÑи
У Ð²Ð°Ñ Ñ Ð¼Ð°Ñив обʼÑкÑÑв 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
}));
Ð¢ÐµÐ¿ÐµÑ ÑÑе добÑе.