Стрелочная функция в массиве
Этот код работает правильно.
let vasya = { name: "Вася", surname: "Пупкин", id: 1 };
let petya = { name: "Петя", surname: "Иванов", id: 2 };
let masha = { name: "Маша", surname: "Петрова", id: 3 };
let users = [ vasya, petya, masha ];
let usersMapped = users.map(user => ({
fullName: `${user.name} ${user.surname}`,
id: user.id
}));
alert( usersMapped[0].id );
alert( usersMapped[0].fullName );
Но здесь я решил раскрыть стрелочную функцию,
дабы лучше понять код.
Но где-то я допустил ошибку, подскажите, где она?
let vasya = { name: "Вася", surname: "Пупкин", id: 1 };
let petya = { name: "Петя", surname: "Иванов", id: 2 };
let masha = { name: "Маша", surname: "Петрова", id: 3 };
let users = [ vasya, petya, masha ];
let usersMapped = users.map(function(user){ // Раскрытие стрелочной функции
return fullName: `${user.name} ${user.surname}`,id: user.id;
});
alert( usersMapped[0].id )
alert( usersMapped[0].fullName )
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Вы забыли вернуть объект.
let vasya = { name: "Вася", surname: "Пупкин", id: 1 };
let petya = { name: "Петя", surname: "Иванов", id: 2 };
let masha = { name: "Маша", surname: "Петрова", id: 3 };
let users = [ vasya, petya, masha ];
let usersMapped = users.map(function(user) {
return {
fullName: `${user.name} ${user.surname}`,
id: user.id
};
});
alert( usersMapped[0].id )
alert( usersMapped[0].fullName )
Было:
return fullName: `${user.name} ${user.surname}`,id: user.id;
Стало:
return { // <---
fullName: `${user.name} ${user.surname}`,
id: user.id
}; // <---