将 {} 添加到地图会破坏它

Mic*_*sky 0 javascript node.js ecmascript-6

为什么这样做:

const final = pdata.map((p) => p.nodeName);

// returns [ 'H1', 'P', 'P' ] like its supposed to
Run Code Online (Sandbox Code Playgroud)

但这在所有这些中都返回 undefined :

const final = pdata.map((p) => { 
  p.nodeName
});

// returns [ undefined, undefined, undefined ]
Run Code Online (Sandbox Code Playgroud)

我需要在里面添加几个 if 语句来检查不同的类型,但{}似乎破坏了它。我不应该在 a 中进行此操作.map()吗?或者有另一种方法可以做到这一点?

Mam*_*mun 6

的用法{...}是封装多条语句。

您需要指定return关键字:

const final = pdata.map((p) => { 
  return p.nodeName;
});
Run Code Online (Sandbox Code Playgroud)