@文心快码typescript enum根据value怎么取key 文心快码 在TypeScript 中,枚举(enum)是一种特殊的数据类型,它允许我们定义一组命名的常量。对于数字枚举,TypeScript 编译器会自动为每个枚举成员生成一个反向映射,这意味着我们可以通过枚举值获取枚举键(key),反之亦然。但是,对于字符串枚举,这种反向映射并不适用。 以下...
// 假设我一个枚举enumENUM_TYPE{ALL='all',SOME='some',LITTLE='little'}// 获取枚举的 valuetypeIValue=`${ENUM_TYPE}`// 'all' | 'some' | 'little'// 获取枚举的 keytypeIKey=keyoftypeofENUM_TYPE// 'ALL' | 'SOME' | 'LITTLE'
步骤2:使用 Enum 中的 Key 来获取值 接下来,我们将学习如何根据 Enum 中的键来获取相应的值。我们可以直接通过 Enum 的名称和键来实现这一操作。以下是具体的代码示例: // 根据 Enum 中的 key 获取值constredValue=Color.Red;// 通过 Color.Red 获取对应的值// 打印获取到的值console.log(redValue);// ...
name->value)和(value->name)。 引用枚举成员总会生成一次属性访问并且永远不会内联。 在大多数情况下这是很好的并且正确的解决方案。 然而有时候需求却比较严格。 当访问枚举值时,为了避免生成多余的代码和间接引用,可以使用常数枚举。 常数枚举是在enum关键字前使用const修饰符。 constenumEnum{A=1,B=A*2} 1....
value: Status[key as keyof typeof Status], label: statusTextMap[Status[key as keyof typeof Status]], })); } // 使用方式 <Select options={getStatusOptions()} />; 4. 缺乏国际化/本地化支持 如果你的应用需要支持多语言,使用原生 enum 会变得更加麻烦: ...
我们可以通过 Enum[key] 或者 Enum.key 的方式获取到对应的值。typescript 还支持反向映射,即可以通过值来获取键,不过反向映射只支持数字枚举。下面是个例子: enumStatus { Success=200, NotFound=404, Error=500} console.log(Status.Success)//200console.log(Status[200])//Successconsole.log(Status[Status....
为啥多了一步 typeof?要感谢 enum 的原生反向映射机制,脑筋急转弯。 5. 个数、optionList 你都得小心翼翼 获取个数: constDirectionNumberLength=DirectionNumberKeys.length;// 4 组装选项: constDirectionNumberOptions=[{key:'UP',value:DirectionNumber.Up,label:'上'},{key:'Down',value:DirectionNumber.Do...
用来获取一个对象接口中的所有key值 代码语言:javascript 代码运行次数:0 运行 AI代码解释 interface Person { name: string; age: number; gender: 'male' | 'female'; } type PersonKey = keyof Person; //type PersonKey = 'name'|'age'|'gender'; function getValueByKey(p: Person, key: PersonKey...
这是一个类型安全的解决方案,而不是简单地调用let value = obj[key];之类的东西。 从这里getProperty函数很容易调用,如下面的例子所示,从typescript_info对象中获取属性: // the property we will get will be of type Difficultyenum Difficulty { Easy, Intermediate, Hard}// defining the object we will ...
我试图用枚举(或数组值)中的计算属性名初始化JavaScript/TypeScript对象。我知道如何在循环中创建计算属性,但希望有一些聪明的initilizer语法可以一次性完成。 示例:给定一个TypeScript枚举,如: enum Amenities { FreeWeights = "Free Weights", CardioMachines = "Cardio Machines", ... }; ...