This question already has an answer here:
If I have a javascript object that looks like below
var columns = {
left: true,
center : false,
right : false
}
and I have a function that is passed both the object, and a property name like so
//should return false
var side = read_prop(columns, 'right');
what would the body of read_prop(object, property)
look like?
You don't need a function for it - simply use the bracket notation:
This is equal to dot notation,
var side = columns.right;
, except the fact thatright
could also come from a variable, function return value, etc., when using bracket notation.If you NEED a function for it, here it is:
Since I was helped with my project by the answer above (I asked a duplicate question and was referred here), I am submitting an answer (my test code) for bracket notation when nesting within the var:
ThiefMaster's answer is 100% correct, although I came across a similar problem where I needed to fetch a property from a nested object (object within an object), so as an alternative to his answer, you can create a recursive solution that will allow you to define a nomenclature to grab any property, regardless of depth:
Where your string reference to a given property ressembles
property1.property2
Code and comments in JsFiddle.