2013-07-23 68 views
0

这很愚蠢,但我无法弄清楚。使用另一个值从对象获取价值

我有一个简单的对象在JS:

var objSyntax = [ {"a": "1"}, 
        {"b": "2" }, 
        {"c": "3"} ]; 

我想打电话给1时theid等于一个等

这里是我试过的符号,没有工作:

objSyntax[theid]; 

我在做什么错?

+4

你有对象的数组。您需要迭代Array,并测试每个Object以查看它是否具有''a“'键。或者如果键保证是唯一的,你应该可以创建一个单一的对象var objSyntax = {“a”:“1”,“b”:“2”,“c”:“3”}' –

回答

2

你可以改变你的对象,以反映类似:

var objSyntax = {"a": "1", 
        "b": "2" , 
        "c": "3"}; 
objSyntax[theId]; 

或通过对象的数组,你已经张贴迭代:

var objSyntax = [ {"a": "1"}, 
        {"b": "2" }, 
        {"c": "3"} ]; 
+1

完美!你的第一个解决方案效果很好,而且比第二个方案简单得多。谢谢! – itamar

+0

当然,你有一个对象数组而不是你在你的问题中声明的对象。 – KiaMorot

-1

随着你怎么把它设置了,现在,你将访问它像这样

objSyntax[0][theId] 
+0

这只有在'theId'包含'a'时才有效。如果是'b',他需要'objSyntax [1] [theId]',等等。 – Barmar