KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a nested Javascript object like 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' } }; Here, I can access the fields as data.profile.age.type or data.name.type. No Issues And if I have dynamic variable names, I can access as below. Again, No Problems. f = 'profile'; data[f].age.type But, here I have variable names like 'name', 'profile.age', 'profile.city' etc and obviously I cannot access them as f = 'profile.age'; data[f].type which will not work. Can anyone guide me how to access them (get/set) in the most straight-forward and simple way? Note: I tried this and it works for get. data.get = function(p) { o = this; return eval('o.'+p); }; f = 'profile.age'; data.get(f).name; though set does not seem to be simple enough. Please let me know, if there are better solutions for get and set as well.
Tags (comma-separated)
Save Edits
Cancel