📜  从对象 javascript 中获取字段名称列表(1)

📅  最后修改于: 2023-12-03 15:21:57.513000             🧑  作者: Mango

从Javascript对象中获取字段名称列表

当我们需要获取Javascript对象中的所有字段名称时,有多种方法可以实现该目标。下面将介绍一些常用的方法。

1. Object.keys()

Object.keys() 方法返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致。

const obj = { a: 1, b: 2, c: 3 };
const keys = Object.keys(obj);
console.log(keys); // ['a', 'b', 'c']
2. Object.getOwnPropertyNames()

Object.getOwnPropertyNames() 方法返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性)组成的数组。

const obj = { a: 1, b: 2, c: 3 };
const keys = Object.getOwnPropertyNames(obj);
console.log(keys); // ['a', 'b', 'c']
3. Reflect.ownKeys()

Reflect.ownKeys() 方法返回一个由目标对象自身的属性键组成的数组。

const obj = { a: 1, b: 2, c: 3 };
const keys = Reflect.ownKeys(obj);
console.log(keys); // ['a', 'b', 'c']

以上三种方法均可用于获取对象的属性名称,它们的参数都是要获取属性名称的对象,并返回包含属性名称的数组。

总结

以上三种方法可以在Javascript对象中获取字段名称列表,有着不同的优势。Object.keys() 只能获取可枚举的属性名,而 Object.getOwnPropertyNames() 获取对象自身的所有属性名(包括不可枚举属性)。而 Reflect.ownKeys() 获取所有属性名,包括从原型链上继承的属性。需要根据实际的需求来选择不同的方法。