如何将字符串转换为对象';javascript中的字段名

如何将字符串转换为对象';javascript中的字段名,javascript,Javascript,我有一个js对象,比如: obj = { name: 'js', age: 20 }; 现在我想访问obj的name字段,但我只能得到字符串“name”,所以如何将“name”转换为obj的字段名,然后得到类似obj.name的结果 提前谢谢。由于对象是javascript中的关联数组,您可以通过obj['name']或obj[fieldName]访问'name'字段,其中fieldName='name'在javascript中,obj.name相当于obj['name'],这增加了必

我有一个js对象,比如:

obj = {
  name: 'js',
  age: 20
};
现在我想访问obj的name字段,但我只能得到字符串“name”,所以如何将“name”转换为obj的字段名,然后得到类似obj.name的结果


提前谢谢。

由于对象是javascript中的关联数组,您可以通过
obj['name']
obj[fieldName]
访问'name'字段,其中
fieldName='name'

在javascript中,
obj.name
相当于
obj['name']
,这增加了必要的间接性

在您的示例中:

var fieldName = 'name'
var obj = {
  name: 'js',
  age: 20
};
var value = obj[fieldName]; // 'js'

很简单,要通过变量访问对象的值,可以使用方括号:

var property = 'name';
var obj = {name: 'js'};
alert(obj[property]); // pops 'js'

您可以使用索引访问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)

检查示例@:

完全不相关,但对于试图从字符串变量定义对象字段名的任何人,可以尝试使用:

const字段='asdf'
常量obj={[field]:123}

document.body.innerHTML=obj.asdf
obj.name
还是我遗漏了问题的要点?@mhitz:也许“name”存储在变量中,他们想像
obj一样访问它。
其中
存储为“name”的地方?@Brad Christie是对的。谢谢大家的回答,这些答案都是一样的,我试过了,它是正确的。谢谢,非常感谢。