在 TypeScript 中获取对象的长度
Get the length of an Object in TypeScript
在 TypeScript 中获取对象的长度:
- 使用该
Object.keys()
方法获取对象键的数组。 - 访问
length
键数组上的属性。 - 该
length
属性将返回对象中键值对的数量。
索引.ts
interface Person { id: number; name: string; age: number; } const obj: Person = { id: 1, name: 'Tom', age: 30 }; // 👇️ const length: number const length = Object.keys(obj).length; console.log(length); // 👉️ 3
我们使用
Object.keys
方法获取对象键的数组。
该方法采用的唯一参数是返回其键的对象。
索引.ts
// 👇️ ['id', 'name'] console.log(Object.keys({ id: 1, name: 'Tom' }));
最后一步是访问
length
数组上的属性以获取对象中键值对的数量。另一种方法是初始化一个length
变量,将其设置为0
并使用
for…in
循环遍历对象。
索引.ts
interface Person { id: number; name: string; age: number; } const obj: Person = { id: 1, name: 'Tom', age: 30 }; let length = 0; for (const key in obj) { if (obj.hasOwnProperty(key)) { length += 1; } } console.log(length); // 👉️ 3
for...in
循环遍历对象的可枚举属性,包括继承的属性。
这就是为什么我们必须使用
Object.hasOwnProperty
方法来检查该属性是直接存在于对象上还是被继承的原因。
如果属性直接存在于对象上,我们只会增加length
变量。
第二种方法肯定比第一种更冗长和间接,但是您可能会在较旧的代码库中看到它。