javascript对象文字动态键SyntaxError [重复]

Posted

技术标签:

【中文标题】javascript对象文字动态键SyntaxError [重复]【英文标题】:javascript object literal dynamic key SyntaxError [duplicate] 【发布时间】:2018-12-05 08:54:08 【问题描述】:

这个表达有什么问题?

['a', 'b'].map((x) => [x]:x)

我收到此错误:

Uncaught SyntaxError: Unexpected token :

【问题讨论】:

【参考方案1】:

您需要将 包裹在() 中,否则将被解释为函数体:

['a', 'b'].map((x) => ([x]: x ))

【讨论】:

这是正确答案。作为旁注,为了清楚起见,我经常像这样包装返回的对象:['a', 'b'].map((x) => Object([x]: x))【参考方案2】:

您已将返回值用() 括起来

let result = ['a', 'b'].map((x) => ([x]: x));

console.log(result);

【讨论】:

【参考方案3】:

当你从箭头函数返回对象时,你将它们包装在括号中

['a', 'b'].map((x) => ([x]:x))

【讨论】:

以上是关于javascript对象文字动态键SyntaxError [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JavaScript 对象文字中使用变量作为键?

当动态生成javascript对象的密钥时,gulp会中断。

JavaScript:通过计算键动态解构对象

使用 lodash 映射键或任何其他 javascript 方法 (NodeJs) 动态更改对象键

如何创建要添加到 JavaScript 对象变量的动态键 [重复]

如何创建要添加到 JavaScript 对象变量的动态键 [重复]