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

这个表达有什么问题?

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

我收到此错误:

Uncaught SyntaxError: Unexpected token :

【问题讨论】:

    标签: javascript object syntax


    【解决方案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}))

      【讨论】:

        猜你喜欢
        • 2011-09-23
        • 2018-05-20
        • 1970-01-01
        • 2016-03-18
        • 2022-01-06
        • 2021-11-02
        • 2022-12-31
        相关资源
        最近更新 更多