我怎样才能做到这一点?
objPrefix = btn.attr('data-objprefix'); //<button data-objPrefix="foo">
var sendData = {objPrefix : {"bar":"ccccc"}};
而且我希望输出是
{"foo" : {"bar":"ccccc"}};
但它是
{"objPrefix" : {"bar":"ccccc"}}
最佳答案
当您使用文字符号时 objPrefix
被视为键名本身而不是变量 objPrefix
的值,而是尝试使用 bracket notation 根据变量值设置对象的属性名称。所以试试这个方法:
var sendData = {};
sendData[objPrefix] = {"bar":"ccccc"};
你也可以事实上使用 jquery data-api 来获取 data-attribute 的值,即
objPrefix = btn.data('objprefix')
关于javascript - 将变量中的字符串作为javascript对象文字中的键传递,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19966070/