从变量内容创建对象属性

时间:2014-04-15 20:04:01

标签: javascript variables object

我有这个简单的对象。

var myobj = {
   id: value
}

但是我没有名为“id”的属性,而是希望属性标识符为以下值:

$(this).attr('id');

我无法预设,因为我不知道元素的ID。我希望能够通过

获得我的房产价值
<id-of-element>.id

我明白我不能这样做:

var myobj = {
   $(this).attr('id'): value
}

但我怎么解决呢? :)

2 个答案:

答案 0 :(得分:5)

您无法分配这样的动态媒体资源名称,但您可以使用[]表示法:

var myobj = {};
myobj[$(this).attr('id')] = value;

答案 1 :(得分:0)

ES6引入了计算属性名称,允许您执行

var myobj = {
   [$(this).attr('id')]: value
}

注意浏览器支持目前可以忽略不计。