【问题标题】:Simple JavaScript Map - Using an Object as the Return简单的 JavaScript 映射 - 使用对象作为返回
【发布时间】:2017-07-27 06:00:05
【问题描述】:

我正在研究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) => {return {name: el.name}});

标签: javascript iteration map-function


【解决方案1】:

您需要将对象包装在普通函数括号中。

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,花括号表示一个功能块。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-30
  • 2021-02-17
  • 1970-01-01
相关资源
最近更新 更多