如标题中所述,如何确定Typescript中的枚举中的元素数(如本例所示)

enum ExampleEnum {

    element1 = 1,
    element2 = 2,
    element3 = 3,
    element4 = 4,
    element5 = 5,
    element6 = 6

}

var exampleEnumElementCount:number = ?

如何确定计数?在这种情况下应该是6

最佳答案

Typescript没有提供获取枚举元素数量的标准方法。但是给定the implementationenum reverse mapping,以下工作原理:

Object.keys(ExampleEnum).length / 2

注意,对于string enums,您请勿除以零,因为不会生成反向映射属性:
Object.keys(StringEnum).length;

带有混合字符串和数值的枚举可以通过以下方式计算:
Object.keys(ExampleEnum).filter(isNaN).length

09-07 00:04