给出一个对象,例如let x = {y: 123, z: 321};
我想知道是否存在一种优雅的方式来将字段名称获取为字符串,例如x.y.name() === 'y'
。
我知道可以使用Object.keys和Object.values(Object.keys(x)[Object.values(x).indexOf(x.y)]
)来完成,但是必须有更好的方法。
答案 0 :(得分:0)
似乎没有比使用Object.keys(x)[Object.values(x).indexOf(x.y)]
更好的方法了,只有在没有重复值且没有值NaN
且没有+0
和-0
个值。因此,这不是一个非常稳定的解决方案。如果需要引用对象字段的名称,则可以将常量用于键:
const fieldName1 = 'abc';
let object = {[fieldName1]: 123};