如何使用Typescript从数组动态构建枚举
我想从文件列表中动态构建我的typescript enum,但我不知道怎么做 以下是我为获取值数组而编写的代码:如何使用Typescript从数组动态构建枚举,typescript,dynamic,typescript-typings,typing,Typescript,Dynamic,Typescript Typings,Typing,我想从文件列表中动态构建我的typescript enum,但我不知道怎么做 以下是我为获取值数组而编写的代码: const fs=require('fs'); fs.readdir('./src/assets/icons',(err,files)=>{ const name=文件 .filter(file=>file.match('.svg')) .map(filefilted=>filefilted.replace('.svg','') console.log(名称)/[“向右箭头”、“主页
const fs=require('fs');
fs.readdir('./src/assets/icons',(err,files)=>{
const name=文件
.filter(file=>file.match('.svg'))
.map(filefilted=>filefilted.replace('.svg','')
console.log(名称)/[“向右箭头”、“主页”、“菜单”…]
})
我们可以动态构建一个typescript枚举吗?怎么做
你认为我必须在我的文件夹中手动写入所有图标名称,如下图所示
enum iconName {
HOME = 'home',
ARROW_RIGHT = 'arrow-right',
MENU = 'menu',
}
谢谢 在运行时,不能仅从键创建实际的typescript枚举 你会怎么用它呢?枚举用于确保代码中没有使用以前在枚举中未定义的任何未知值 为了达到这一效果,您需要在项目中的某个地方使用枚举,IDE无法神奇地知道目录中存在哪些图标 您可以做的是,在获得图标名称列表后,检查这些图标名称是否存在于您的枚举中:
let array: string[] = ["arrow-right", "home", "menu"];
enum MyEnum {
home = 'home',
svg = 'svg'
}
array.forEach(element => console.log(MyEnum[element as MyEnum]))