我有一个这样的对象:
var items = {
foobar: {
foo: 'bar'
}
}
我在用户在表单中选择它时收到的值中有'foobar'这个名称,如下所示:
var item = $('select').val(); // which is 'foobar'
当我只知道该变量中的名称“foobar”时,如何访问items.foobar.foo
?它不会将“item”解析为items.item.foo
...
我想这有点像在PHP中执行$items[$item]['foo']
,但我不知道如何在Javascript中执行此操作。
感谢。
答案 0 :(得分:1)
您可以通过以下方式直接访问它:items[foobar].foo
答案 1 :(得分:1)
在item
中拥有所需项目的名称,您可以使用squate括号访问该属性:
var item = "foobar";
alert(items[item].foo);
答案 2 :(得分:0)
在JS中,它与PHP非常相似。例如,foo['bar']
与foo.bar
相同。因此,foo[something]
将访问名称存储在foo
变量中的something
成员。
括号表示法具有处理任意键的优点,例如:数字和包含非字母数字字符的字符串。
答案 3 :(得分:0)
是的,它将是items[ item ]['foo'];
:)
答案 4 :(得分:0)
好吧,我猜你可以试试你的PHP建议:
items[item]['foo'];
或
items[item].foo;
答案 5 :(得分:0)
var item = $('select').val(); // which is 'foobar'
var foo = items[item].foo;
或
var foo = items[item]['foo'];