我有一个物体,比如
let foo = {
firstName: 'David',
lastName: 'Divad'
};
我想获取
foo.firstName
的字符串“firstName”。我发现有一种方法可以获取它,但需要对索引进行硬编码:
Javascript获取对象属性名称
我可以通过调用 Object.keys(foo)[0] 来获取“firstName”。我不想对索引进行硬编码,因为如果索引发生更改,我无法在编译时检测到代码中的错误。使用对象的字段变量,我们总是可以在编译时首先检测问题,而不是像其他方式那样在运行时检测问题。
我需要从字段 foo.firstName 获取字符串字段名称,不是通过硬编码索引或字符串,而是通过对象的字段变量(例如:foo.firstName)。
我想知道是否有一个像下面的 getFieldName 这样的函数可以做到这一点。 例如:
let foo = {
firstName: 'David',
lastName: 'Divad'
};
console.log(getFieldName(foo.firstName)); // expect print out 'firstName'
或
console.log(getFieldName(foo, foo.firstName)); // expect print out 'firstName'
有没有办法以对象的字段变量作为参数来获取 javaScript 对象的字段名称?
您可以尝试使用
Object.keys()
let foo = {
firstName: 'David',
lastName: 'Divad'
};
console.log(Object.keys(foo)[0]);
您可以从中获取字段名称并迭代它
Object.keys(foo);