var obj = {
a: "A",
b: "B",
c: "C"
}
console.log(obj.a); // return string : A
Run Code Online (Sandbox Code Playgroud)
但我希望通过这样的变量
var name = "a";
console.log(obj.name) // but return undefined
Run Code Online (Sandbox Code Playgroud)
这该怎么做?
Dav*_*ang 88
使用[]
符号表示属性的字符串表示:
console.log(obj[name]);
Run Code Online (Sandbox Code Playgroud)
否则它正在寻找"名称"属性,而不是"a"属性.
Roh*_*iya 16
你可以通过这些方式value
摆脱...key
var obj = {
a: "A",
b: "B",
c: "C"
};
console.log(obj.a);
console.log(obj['a']);
name = "a";
console.log(obj[name])
Run Code Online (Sandbox Code Playgroud)
小智 6
使用以下语法:
obj[name]
Run Code Online (Sandbox Code Playgroud)
请注意,obj.x
这与obj["x"]
所有有效的JS标识符相同,但后一种形式接受所有字符串作为键(不仅仅是有效的标识符).
obj["Hey, this is ... neat?"] = 42
Run Code Online (Sandbox Code Playgroud)