javascript - 简单的 JavaScript 映射——使用一个对象作为返回值

标签 javascript iteration map-function

我正在研究 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);

关于javascript - 简单的 JavaScript 映射——使用一个对象作为返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45342461/

相关文章:

javascript - 如何使用 Javascript $.get 调用 Controller 操作 - Yii?

带有/父 ID 的 PHP 多维数组到类别分类数组,Ebay 样式

python - 逐行、逐个单元地比较 2 个 Pandas 数据帧

使用对象方法的 Perl 映射

Python map() 函数遍历 'None' 元素

javascript - Redux 在另一个 reducer 中更新状态

javascript - Protractor 在元素出现在页面之前单击元素

javascript - 如何将当前元素传递给绑定(bind)到单击事件的函数?

javascript - 如何为对象中的所有键和值添加属性?

Java:枚举还是用数字编码?