typescript 中是如何遍历枚举的?

作者站长头像
站长
· 阅读数 10

代码如下

export enum Icons {
    ADD,
    API,
    APPS,
    ARTICLE
}

for (var icon in Icons) {
  console.log(icon);
}

我现在用的是 for in, 但是结果不是很符合需求, 前面会输出索引

typescript 中是如何遍历枚举的?

如果不输出索引, 只要获取 ADD, API, APPS, ARTICLE 这四个值, 有没有其他的遍历方式?

回复
1个回答
avatar
test
2024-07-11

指定下每个枚举值对应的value,就不会生成索引的key了

export enum Icons {
    ADD = 'ADD',
    API = 'API',
    APPS = 'APPS',
    ARTICLE = 'ARTICLE'
}

for (var icon in Icons) {
  console.log(icon);
}

但是这样就很麻烦,所以我很不喜欢用枚举,我更喜欢直接用union type来枚举所有情况:

type Icons = 'ADD' | 'API' | 'APPS' | 'ARTICLE'

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容