如何在javascript/typescript的枚举中检查字符串/数字是否存在? |
您所在的位置:网站首页 › js判断字符串中是否有某个字符 › 如何在javascript/typescript的枚举中检查字符串/数字是否存在? |
Enum是Javascript/typescript中引入的一种新的数据类型,它只保存字符串或数字。 有些时候,有必要检查Enum对象中是否存在声明的字符串或数字。 这篇博文涵盖了在javascript typescript ,检查字符串或数字值是否存在于Enum中。 你可以查看我的其他关于类型化Enum对象的文章 检查字符串是否存在于Enum值中我们有很多方法可以检查字符串是否存在于枚举中 使用ES7数组包括方法 ES7,最新的javascript语言引入了includes方法。 enum WeekEndMap { Sunday = "sunday", Saturday = "saturday" }Object.values() 该方法是ES6的一种方法,它接受枚举或对象,并返回枚举字符串的数组,includes()方法简单地检查并返回true - 如果存在,false - 不存在。 const list=Object.values(WeekEndMap); console.log(list)//[ 'sunday', 'saturday' ] console.log(typeof list); // object if (Object.values(WeekEndMap).includes('sunday')) { console.log("string exists") }如果提供的值是数字,这个方法将不起作用。 如何检查数字在枚举中的存在,typecript/Javascript让我们声明周的枚举 export enum Weeks { MONDAY = 1, TUESDAY= 2, WEDNESDAY = 3, THURSDAY = 4, FRIDAY = 5, SATURDAY=6, SUNDAY=7, }Enum被声明为包含数字值的字符串。 在typescript中,Enum对象的格式如下所示 key value value key打印枚举对象,如下所示 { '1': 'MONDAY', '2': 'TUESDAY', '3': 'WEDNESDAY', '4': 'THURSDAY', '5': 'FRIDAY', '6': 'SATURDAY', '7': 'SUNDAY', MONDAY: 1, TUESDAY: 2, WEDNESDAY: 3, THURSDAY: 4, FRIDAY: 5, SATURDAY: 6, SUNDAY: 7 }数字可以通过多种方式在枚举中进行检查 使用in操作符 Enum是一个对象,In operator ,如果属性存在于一个对象中,则返回真,否则返回假。 枚举索引语法--如果数字存在,则返回字符串,否则返回未定义。 let numberValue=1 console.log(numberValue in Week) //true console.log(Week[numberValue]) //MONDAY console.log(Week[10]) // undefined if (Week[numberValue]) { console.log("number exists") } if (!Week[10]) { console.log("number not exists") }和控制台输出是 true MONDAY undefined number exists number exists |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |