将字符串值转换为对象属性名称

时间:2012-08-28 17:51:09

标签: javascript

  

可能重复:
  How to convert string as object's field name in javascript

我可以这样做:

var objPosition = {};
objPosition.title = "whatever";

但是我动态地获得了'标题',并且想要使用大约六打这样的字符串来将六打属性分配给对象。我已经尝试过eval和其他几个似乎有相同问题的方案,但到目前为止还是空了。

我有:

var txtCol = $(this).text();
txtCol = $.trim(txtCol);

我希望txtCol的值是属性名。

有什么想法吗?

4 个答案:

答案 0 :(得分:43)

使用['propname']

objPosition[txtCol] = "whatever";

演示:http://jsfiddle.net/hr7XW/

答案 1 :(得分:8)

使用bracket notationobjPosition['title'] = "whatever";

这样:

var objPosition = {}, ttl = 'title';
objPosition[ttl] = 'whatever'; 

答案 2 :(得分:3)

您也可以像这样设置对象的键

var property = "title"
objPosition[property] = "something";

答案 3 :(得分:2)

使用这样的括号表示法:

objPosition["title"] = "Whatever";