【问题标题】:Get field name of a javascript object with object's field as parameter [duplicate]以对象的字段作为参数获取javascript对象的字段名称[重复]
【发布时间】:2020-02-12 09:56:19
【问题描述】:

我有一个对象,比如

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

我想得到foo.firstName 的字符串'firstName'。 我发现有一种方法可以得到它,但需要对索引进行硬编码: Javascript get Object property Name

我可以通过调用 Object.keys(foo)[0] 获得“名字” 但我不想对索引进行硬编码,因为如果更改了索引,我无法在编译验证时检测到代码中的错误。所以我需要从字段 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


【解决方案1】:

你可以试试Object.keys()

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

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

【讨论】:

  • 大骗子......
  • 感谢您的回答,我的意思是我需要以对象的字段作为参数获取字符串字段名称,而无需任何索引硬代码。只是字段作为参数。我刚刚更新了这个问题。你能给我个主意吗?
  • @mplungjan 那不是骗子,请帮帮我:(我刚刚更新了问题
  • @HieuTran 您的更新中没有任何内容不会使这成为骗局。除非你没有解释你真正需要什么
  • @mplungjan 我已经更新并解释了我需要什么。你能帮帮我吗?
【解决方案2】:

您可以从中获取字段名称并对其进行迭代

Object.keys(foo);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 2017-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多