我有一个这样定义的枚举:
export enum GoalProgressMeasurements {
Percentage = 1,
Numeric_Target = 2,
Completed_Tasks = 3,
Average_Milestone_Progress = 4,
Not_Measured = 5
}
但是,我希望它从我们的 API 中表示为对象数组/列表,如下所示:
[{id: 1, name: 'Percentage'},
{id: 2, name: 'Numeric Target'},
{id: 3, name: 'Completed Tasks'},
{id: 4, name: 'Average Milestone Progress'},
{id: 5, name: 'Not Measured'}]
是否有简单的本地方法来执行此操作,或者我是否必须构建一个将枚举转换为 int 和字符串的函数,并将对象构建到数组中?
原文由 AnimaSola 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你使用的是 ES8
只有在这种情况下,它才能完美地工作。它会给你给定 枚举 的值数组。
你会得到
colorValueArray
就像这样[ 'WHITE', 'BLACK', 'BLUE', 0, 1, 3 ]
。所有的键都在数组的前半部分,所有的值都在后半部分。即使是这种枚举也能正常工作
但是这个解决方案不适用于像这样的 异构枚举