У меня есть вложенный объект Javascript, например
var data = { 'name': { 'heading': 'Name', 'required': 1, 'type': 'String' },
'profile': {
'age': { 'heading': 'Age', 'required': 0, 'type': 'Number' },
'phone': { 'heading': 'Phone', 'required': 0, 'type': 'String'},
'city': { 'heading': 'City', 'required': 0, 'type': 'String'},
},
'status': { 'heading': 'Status', 'required': 1, 'type': 'String' }
};
Здесь я могу получить доступ к полям как data.profile.age.type или data.name.type.Нет проблем И если у меня есть имена динамических переменных, я могу получить доступ, как показано ниже.Опять же, никаких проблем.
f = 'profile'; data[f].age.type
Но здесь у меня есть имена переменных, такие как 'name', 'profile.age', 'profile.city' и т. Д., И, очевидно, я не могу получить к ним доступ как f = 'profile.возраст';data [f] .type, который не будет работать.
Кто-нибудь может подсказать мне, как получить к ним доступ (получить / установить) наиболее простым и простым способом?
Примечание: я пыталсяэто и работает для get.
data.get = function(p) { o = this; return eval('o.'+p); };
f = 'profile.age'; data.get(f).name;
, хотя set не кажется достаточно простым.Пожалуйста, дайте мне знать, если есть лучшие решения для получения и настройки.