【问题标题】:Create object property from variable contents从变量内容创建对象属性
【发布时间】:2014-05-30 09:05:12
【问题描述】:

我有这个简单的对象。

var myobj = {
   id: value
}

但我希望属性标识符不是名为“id”的属性:

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

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

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

我知道我不能这样做:

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

但是我该如何解决呢? :)

【问题讨论】:

标签: javascript variables object


【解决方案1】:

您不能分配这样的动态属性名称,但可以使用[] 表示法:

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

【讨论】:

  • 这么简单,这么棒,这么快!谢谢!
【解决方案2】:

ES6 引入了计算属性名,让你可以这样做

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

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

【讨论】:

    猜你喜欢
    • 2011-04-29
    • 2017-09-30
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    • 2012-07-02
    • 2018-10-11
    相关资源
    最近更新 更多