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
You can get value
of key
like these ways...
var obj = {
a: "A",
b: "B",
c: "C"
};
console.log(obj.a);
console.log(obj['a']);
name = "a";
console.log(obj[name])
I use the following syntax:
objTest = {"error": true, "message": "test message"};
get error:
var name = "error"
console.log(objTest[name]);
get message:
name = "message"
console.log(objTest[name]);
productList = {
"name": "Title"
}
var key = "name";
console.log(productList[key])
productList
is an arbitraty object with only one key. the key
variable holds the same key as a string.
Using the []
you can access the value dynamically.
https://jsfiddle.net/sudheernunna/tug98nfm/1/
var days = {};
days["monday"] = true;
days["tuesday"] = true;
days["wednesday"] = false;
days["thursday"] = true;
days["friday"] = false;
days["saturday"] = true;
days["sunday"] = false;
var userfalse=0,usertrue=0;
for(value in days)
{
if(days[value]){
usertrue++;
}else{
userfalse++;
}
console.log(days[value]);
}
alert("false",userfalse);
alert("true",usertrue);
var o = { cat : "meow", dog : "woof"};
var x = Object.keys(o);
for (i=0; i<x.length; i++) {
console.log(o[x[i]]);
}
IAB
fyi, if the type of the object is not known it's a little trickier:
var name = "a";
console.log(obj[name as keyof typeof obj]);
(refer to this post)
精彩评论