【问题标题】:How to access object value with ( ) parentheses in name? [duplicate]如何在名称中使用 ( ) 括号访问对象值? [复制]
【发布时间】:2015-03-24 10:12:23
【问题描述】:

您好,我有一个从 CSV 文件中的数据填充的对象。

我的一个 id 叫做“Disk_Usage(MB)”

我尝试使用我的 object.Disk_Usage(MB) 但收到错误,因为 javascript 认为磁盘使用是一个函数,而 MB 是一个变量。

我在控制台上收到一个参考错误,提示 MB 未定义。

【问题讨论】:

标签: javascript


【解决方案1】:

使用数组/括号表示法:

var propertyValue = yourObject['Disk_Usage(MB)'];

如果您想知道为什么需要这样做和/或“但我的对象不是数组!”,我建议您阅读 MDN 上的“Working with objects”文章。

【讨论】:

    【解决方案2】:

    这样做:

    object['Disk_Usage(MB)']
    

    阅读this

    【讨论】:

      【解决方案3】:

      虽然object member access可以这样执行:

      var o = { 'abc': 123 };
      console.log(o.abc);
      

      使用数组括号表示法通常更方便:

      console.log(o['abc']);
      

      这是您必须这样做的时候之一,因为您的密钥中包含使其成为非法标识符的字符。您必须将其作为字符串提供。

      就个人而言,为了保持一致性,我一直尝试坚持使用数组括号表示法。

      【讨论】:

        猜你喜欢
        • 2019-12-09
        • 1970-01-01
        • 2012-06-09
        • 2015-10-13
        • 2011-03-06
        • 1970-01-01
        • 1970-01-01
        • 2017-05-30
        相关资源
        最近更新 更多