【问题标题】:Javascript map object literal does not work but new Object() works [duplicate]Javascript 映射对象文字不起作用,但 new Object() 起作用 [重复]
【发布时间】:2021-12-24 22:12:59
【问题描述】:

Object 字面量符号在 map 函数中不起作用吗?我在 Node 12 和 15 REPL 中试过这个

> nums = [1,2,3,4]
[ 1, 2, 3, 4 ]
> nums.map(n => { n })
[ undefined, undefined, undefined, undefined ]
> nums.map(n => new Object({n}))
[ { n: 1 }, { n: 2 }, { n: 3 }, { n: 4 } ]

【问题讨论】:

  • nums.map(n => ({ n }))。如果没有(){} 将被视为代码块,而不是对象文字。

标签: javascript


【解决方案1】:

试试这个:

nums.map(n => ({ n }))

如果没有括号,{ n } 将被解释为函数的主体。通过包含括号,您表示应该隐式返回 { n }

Here 是对隐式与显式返回的概述,应该有助于提供更多细节。

【讨论】:

猜你喜欢
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 2018-11-03
  • 1970-01-01
  • 2017-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多