How to get value in an object's key using a variable referencing that key?
I have an object and I can reference key a
as in the following:
var obj = {
a: "A",
b: "B",
c: "C"
}
console.log(obj.a); // return string : A
I want to get the value by using a variable to reference the object key as below:
var name = "a";
console.log(obj.name) // this prints undefined, but I want it to print "A"
How can I do this?
Use []
notation for string representations of properties:
console.log(obj[name]);
Otherwise it's looking for the "name" property, rather than the "a" property.
obj["a"]
is equivalent to obj.a
so use obj[name]
you get "A"
Use this syntax:
obj[name]
Note that obj.x
is the same as obj["x"]
for all valid JS identifiers, but the latter form accepts all string as keys (not just valid identifiers).
obj["Hey, this is ... neat?"] = 42