У меня есть JavaScript Object, что-то вроде этого:Доступ сложного объекта Javascript динамически
var obj = { simpleName: "some name" name: { firstName: "anudeep", lastName : "rentala" }, address: { country: "XZ", state:"DF" } }
У меня также есть другой объект, как это:
var foo = { loc = "name.firstName" }
В зависимости от значения foo.loc
, я бы для доступа к значению в объекте obj
. В этом случае мне нужно будет получить доступ к obj.name.firstname
. Так далеко, я пытался что-то вроде этого:
var props = foo.loc.split(".");
for(var prop in props)
{
if (obj.hasOwnProperty(prop))
{
alert(obj[prop])
}
}
Моя проблема, теперь я могу получить доступ только name
свойство из obj
объекта, как я шагаю в него, как name.firstName
, я знаю что obj[name][firstName]
будет работать, но как мне это сделать динамически? Как продлить это obj["prop1"]["prop2"]["prop3"] . .. .["propn"]
'Foo' длина массива определяют как глубоко вы должны идти в var 'obj'. Цикл for выполнит эту работу. – nespapu
Возможно, просто добавьте указатель obj к следующему значению, например obj = obj [prop] – gba
Эй, @ Andreas, этот вопрос также отвечает на мой вопрос. Благодарю. –