在JavaScript对象字面量中将变量中的字符串作为键传递

3

我应该怎样做才能实现这个目标?

objPrefix = btn.attr('data-objprefix'); //<button data-objPrefix="foo">
var sendData =  {objPrefix : {"bar":"ccccc"}};

ANd I want the output to be

{"foo" : {"bar":"ccccc"}};

但它实际上是

{"objPrefix" : {"bar":"ccccc"}}
1个回答

7
当您使用文字符号表示法时,objPrefix 被视为键名本身而不是变量objPrefix的值。相反,请尝试使用括号表示法根据变量值设置对象属性名称。因此,请尝试以下方式:
var sendData = {};
sendData[objPrefix] = {"bar":"ccccc"};

此外,您实际上可以使用jQuery数据API来获取data-attribute的值,即:
objPrefix  = btn.data('objprefix')

1
如果这个方法有效,您应该点击投票计数旁边的复选标记将其标记为答案。 - Mike Edwards

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接