2014-01-08 93 views
0

如何在对象的数组解析特定对象的值,对象属性具有特殊字符的数组:解析对象的有特殊字符

var mycars = new Array(); 

var obj = {"x-h": "4", "y": "1"}; 

mycars.push(obj); 

document.write(mycars[0].a-h + "<br>"); 
+0

你会做得很好,包括在你的问题的身体有一定的描述,而不是只在您的标题 –

回答

1

访问属性,如下所示(使用引号):

document.write(mycars[0]["x-h"] + ""); 

另请注意,您使用“ah”而不是“xh”。

+0

感谢johnnycardy – user3174834

0

可以使用括号[]从对象中检索值。

如果您的字符串表达式是合法的JavaScript名称而不是 保留字,则“。”符号可以用来代替。

“x-h”不是合法的Javascript名称。相反,你可以使用x_h,然后你可以使用“。”直接符号访问:

document.write(mycars[0].x_h + ""); 
+0

*“如果你的字符串表达式是合法的JavaScript的名字,而不是保留字,那么可以使用“。”符号。“*如果属性名称是保留字,则甚至可以使用点符号。例如:'var x = {if:42};警报(x.if);'。问题是一些(尤其是较老的)浏览器会遇到问题。 –

+0

是的,你是对的菲利克斯,但它不是一个好的做法。 –