获取 JavaScript 对象的字段名称,以对象的字段变量作为参数[重复]

问题描述 投票:0回答:2

我有一个物体,比如

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 对象的字段名称?

javascript
2个回答
2
投票

您可以尝试使用

Object.keys()

let foo = {
  firstName: 'David',
  lastName: 'Divad'
};

console.log(Object.keys(foo)[0]);


0
投票

您可以从中获取字段名称并迭代它

Object.keys(foo);
© www.soinside.com 2019 - 2024. All rights reserved.