如何使用变量定义对象?

时间:2015-09-30 11:57:13

标签: javascript underscore.js

我想用变量添加到Object,比如

a = 'name'
object = {'age': 12, 'weight': 120}

我希望这个

{'name': 'bob'}  

我这样做

object = {a: 'bob'} 

但它给了我

{'a': 'bob'}

我该如何修理它?我必须使用变量

3 个答案:

答案 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