我正在尝试创建一个看起来像这样的JSON对象:

{
    "scores": [{
        "879212387": {
            "elo": 125
        }, {
        "123768901": {
            "elo": 173
        }
    }]
}


(其中json.scores下的数字是一个名为sid64的变量)

但是相反,我得到的东西看起来像这样

{
    "scores": [{
        "sid64": {
            "elo": 125
        }, {
        "sid64": {
            "elo": 173
        }
    }]
}


如何指示我要使对象名称成为变量而不是字符串?

当前代码:

obj.scores.push({
    sid64:
        {
            elo
        }
    })

最佳答案

使用计算的属性语法:

obj.scores.push({
    [sid64]:
    {
        elo
    }
})


它指示您要使用[...]中的表达式值作为键,而不是字符串sid64

关于javascript - 使用push()创建名称为变量的JSON对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52247592/

10-12 04:46