Я изучаю функцию map
и пытаюсь сделать надуманный пример, который, как я думал, будет работать. Этот код отлично работает:
let students = [{name: 'Susan', grades: [88, 38, 28]}, {name: 'Robert', grades: [28,97, 17]}];
let newStudents = students.map((el) => el.name);
console.log(newStudents); // [ 'Susan', 'Robert' ]
Но то, что я действительно хотел, было следующим в функции map
:
let newStudents = students.map((el) => {name: el.name});
// [ undefined, undefined ]
// I assumed to get back the following: [ {name: 'Susan'}, {name: 'Robert'} ]
Почему использование объекта в возвращаемой части функции map
не разрешено?
Вам нужно обернуть объект в круглую скобку функции.
let newStudents = students.map((el) => ({name: el.name}));
^ ^
let students = [{name: 'Susan', grades: [88, 38, 28]}, {name: 'Robert', grades: [28,97, 17]}];
let newStudents = students.map((el) => ({name: el.name}));
console.log(newStudents);
return
фигурные скобки обозначают функциональный блок.
let newStudents = students.map((el) => {return {name: el.name}});