如何在 TypeScript 中获取枚举(enum)所有值的名称(键)?
大家好!我刚开始学习 TypeScript,在处理枚举(enum)时遇到了问题。
我有一个这样的订单状态枚举:
```typescript
enum OrderStatus {
Pending = "PENDING",
Processing = "PROCESSING",
Shipped = "SHIPPED",
Delivered = "DELIVERED",
Cancelled = "CANCELLED"
}
```
我需要在管理员界面中用一个下拉列表(select)显示所有状态。我尝试使用 `Object.keys()` 和 `Object.values()`,但得到了奇怪的结果。
当我写:
```typescript
console.log(Object.keys(OrderStatus));
```
控制台输出:`["1", "2", "3", "4", "5", "Pending", "Processing", "Shipped", "Delivered", "Cancelled"]`
为什么会出现数字?我期望只看到名称:`["Pending", "Processing", "Shipped", "Delivered", "Cancelled"]`。
而尝试通过 `Object.values()` 获取值时也是一团糟。我读到这与 TypeScript 编译的方式有关。