You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取TypeScript字符串枚举中的所有值?

获取TypeScript字符串枚举的所有值

嘿,这个需求我平时开发里也常碰到,给你分享几种简单靠谱的实现方式:

最直接的方法:使用Object.values()

TypeScript的字符串枚举编译后会生成一个键为枚举成员名、值为对应字符串的普通对象,所以直接用Object.values()就能提取所有枚举值:

export enum FruitColors {
  Apple = "Red",
  Banana = "Yellow",
}

// 直接获取所有值
const fruitColorValues = Object.values(FruitColors);
console.log(fruitColorValues); // 输出: ["Red", "Yellow"]

这个方法简洁高效,完全满足你的需求,也是我最常用的方式。

可选:处理可能的重复值(按需使用)

如果你的枚举存在重复值的情况(虽然字符串枚举一般不会这么设计),可以用Set来做去重:

const uniqueFruitColors = [...new Set(Object.values(FruitColors))];

补充:和数字枚举的区别

这里提一句,如果你处理的是数字枚举,编译后会生成反向映射(同时包含成员名→值和值→成员名),这时候Object.values()会返回包含成员名和值的数组,需要额外过滤。但字符串枚举不会生成反向映射,所以完全不用考虑这个问题,可以放心用上面的方法。

内容的提问来源于stack exchange,提问作者Chris Long

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:46:14