我想用变量添加到Object,比如
a = 'name'
object = {'age': 12, 'weight': 120}
我希望这个
{'name': 'bob'}
我这样做
object = {a: 'bob'}
但它给了我
{'a': 'bob'}
我该如何修理它?我必须使用变量
答案 0 :(得分:2)
删除以前的内容后,只需使用括号表示法进行分配。
var a = 'name',
object = { 'age': 12, 'weight': 120 };
object = {}; // delete all properties
object[a]= 'Bob'; // assign new property
document.write('<pre>' + JSON.stringify(object, 0, 4) + '</pre>');
答案 1 :(得分:0)
您不能在一行中执行此操作。但你可以这样做:
object = {};
object [a] = 'bob';
答案 2 :(得分:0)
在ECMAScript 2015中有computed property names:
var a = 'name';
var obj = {[a]:'fred'};
然而,可能还没有足够的支持。请参阅MDN browser compatability table。