gpt4 book ai didi

javascript - 在不使用 Map 的情况下通过键映射 Typescript 枚举?

转载 作者:行者123 更新时间:2023-11-30 19:04:03 24 4
gpt4 key购买 nike

具有以下枚举实例:

export enum TopicCategories {
GUIDES = 'Guides',
TASKS = 'Tasks',
CONCEPTS = 'Concepts',
FORMULAS = 'Formulas',
BLOGS = 'Blogs'
}

export enum TopicTypes {
GUIDES = 'guide',
TASK = 'task',
CONCEPT = 'concept',
FORMULA = 'formula',
BLOG = 'blog'
}

export const topicCategoryToTopicTypeMap:Map<TopicCategories, TopicTypes> = new Map();

topicCategoryToTopicTypeMap.set(TopicCategories.BLOGS, TopicTypes.BLOG);

topicCategoryToTopicTypeMap:Map实例将允许我获得 TopicType.BLOG使用 TopicCategory.BLOG作为键值。

有没有办法只使用 Enum 直接做到这一点?实例。换句话说,是否有可能消除 Map实例并直接执行映射?

最佳答案

  const categoryToTopic = { "Guides" : "guide", /*...*/ };

type TopicCategories = keyof typeof categoryToTopic;
type TopicTypes = (typeof categoryToTopic)[TopicCategories];

不完全是。枚举仅适用于原语,因此您不能直接在枚举上存储更多数据。

关于javascript - 在不使用 Map 的情况下通过键映射 Typescript 枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59184158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com