Avatar ·

如何将 TypeScript enum 转换为用于 UI 显示的对象数组?

大家好!我是 TypeScript 新手,在处理 enum 时遇到了问题。我有一个订单状态枚举: ```typescript enum OrderStatus { Pending = 'pending', Processing = 'processing', Shipped = 'shipped', Delivered = 'delivered', Cancelled = 'cancelled' } ``` 我需要在 React 组件的下拉列表(select)中显示这些状态。为此,我需要一个如下形式的对象数组: ```typescript [ { label: 'Pending', value: 'pending' }, { label: 'Processing', value: 'processing' }, // ... 以此类推 ] ``` 我尝试使用 `Object.values(OrderStatus)`,但这只返回值('pending', 'processing' 等)。我需要同时获取键(作为 label)和值本身。 我尝试了以下代码: ```typescript const statusArray = Object.entries(OrderStatus).map(([key, value]) => ({ label: key, value: value })); ``` 但它不知为何返回了一个包含重复条目的数组:`[{label: 'Pending', value: 'pe