我有一个像以下的js对象:
obj = {
name: 'js',
age: 20
};
Run Code Online (Sandbox Code Playgroud)
现在我想访问obj的name字段,但我只能获得字符串'name',所以如何将'name'转换为obj的字段名,然后获得像obj.name这样的结果.
先感谢您.
Cha*_*ndu 48
您可以使用索引ie访问javascript对象的属性
var obj = {
name: 'js',
age: 20
};
var isSame = (obj["name"] == obj.name)
alert(isSame);
var nameIndex = "name"; // Now you can use nameIndex as an indexor of obj to get the value of property name.
isSame = (obj[nameIndex] == obj.name)
Run Code Online (Sandbox Code Playgroud)
检查示例@:http://www.jsfiddle.net/W8EAr/
Mat*_*aux 10
在Javascript中,obj.name相当于obj['name'],它增加了必要的间接性.
在你的例子中:
var fieldName = 'name'
var obj = {
name: 'js',
age: 20
};
var value = obj[fieldName]; // 'js'
Run Code Online (Sandbox Code Playgroud)
根本不相关,但对于任何试图从字符串变量定义对象的字段名称的人,您可以尝试:
const field = 'asdf'
const obj = {[field]: 123}
document.body.innerHTML = obj.asdfRun Code Online (Sandbox Code Playgroud)
通过变量访问对象的值非常简单,使用方括号:
var property = 'name';
var obj = {name: 'js'};
alert(obj[property]); // pops 'js'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37751 次 |
| 最近记录: |