【问题标题】:Accessing Javascript Object with Key使用键访问 Javascript 对象
【发布时间】:2015-05-12 19:41:26
【问题描述】:

我在控制台上有以下对象self.originalData

但是,当我尝试访问 originalData 数组中的第一个对象时,

self.originalData[0hcMSJXljH]

出现以下错误

未捕获>语法错误:意外令牌非法

我无法弄清楚我做错了什么。

【问题讨论】:

标签: javascript


【解决方案1】:

你可以使用:

self.originalData["0hcMSJXljH"]

相反。对象键是字符串,因此如果您使用[] 表示法,则必须在括号内放置一个字符串或包含字符串的变量。

您的特殊情况有点不寻常,因为通常您可以像obj.property 中那样使用点符号,但是因为您的密钥以数字开头,所以它不是与点符号一起使用的合法标识符(您可以' t 做self.originalData.0hcMSJXljH)。因此,您不得不对特定键使用方括号表示法。

【讨论】:

    【解决方案2】:

    尝试将密钥放在引号中,如下所示:

    self.originalData['0hcMSJXljH']
    

    【讨论】:

      【解决方案3】:

      您没有在密钥中使用引号,因此您似乎正在尝试使用由 0hcMSJXljH 标识的变量作为密钥。但是,0hcMSJXljH 不是有效的变量标识符,因为它以数字开头,所以会出现非法字符错误。

      只使用字符串,而不是标识符:

      self.originalData["0hcMSJXljH"]
      

      【讨论】:

        【解决方案4】:

        你试过了吗

        self.originalData["0hcMSJXljH"];
        

        ?

        否则:

        self.originalData.0hcMSJXljH;
        

        编辑:最后一个不可能,因为第一个字符是一个数字,正如我所解释的那样

        【讨论】:

        • 你不能做第二个。 Javascript 中与点符号一起使用的标识符不能以数字开头。
        • 是的,我从你的回答中注意到了,我的错
        【解决方案5】:

        你必须使用引号:

        self.originalData['0hcMSJXljH']
        

        【讨论】:

          猜你喜欢
          • 2018-07-15
          • 2020-03-14
          • 1970-01-01
          • 1970-01-01
          • 2015-01-05
          • 1970-01-01
          • 2016-05-18
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多