如何在javascript/typescript的枚举中检查字符串/数字是否存在?

您所在的位置:网站首页 js判断字符串中是否有某个字符 如何在javascript/typescript的枚举中检查字符串/数字是否存在?

如何在javascript/typescript的枚举中检查字符串/数字是否存在?

2023-11-23 07:18| 来源: 网络整理| 查看: 265

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