确定枚举元素的数量 TypeScript

2024-01-08

正如标题中所述,如何确定 Typescript 中枚举中的元素数量,例如本例

enum ExampleEnum {

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

}

var exampleEnumElementCount:number = ? 

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


Typescript 没有提供获取枚举元素数量的标准方法。但鉴于实施 https://basarat.gitbooks.io/typescript/content/docs/enums.html of 枚举反向映射 https://www.typescriptlang.org/docs/handbook/enums.html#reverse-mappings,以下作品:

Object.keys(ExampleEnum).length / 2;

注意,对于字符串枚举 https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-4.html#string-enums you do not除以二,因为不会生成反向映射属性:

Object.keys(StringEnum).length;

具有混合字符串和数值的枚举可以通过以下方式计算:

Object.keys(ExampleEnum).filter(isNaN).length;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

确定枚举元素的数量 TypeScript 的相关文章

  • 如何在 Durandal 中为我的 shell 视图模型使用类?

    我正在查看 Hot Towel 模板 并试图让它在 TypeScript 中工作 但我在转换 shell 视图模型时遇到了问题 我正在尝试将其转换为 TS 对我来说更有意义的是它应该是一个类 而不是简单地导出如图所示的函数here http
  • Grails GORM 和枚举

    我在 Grails 中使用枚举时遇到问题 我尝试在 grails 域对象中使用枚举 code package it xxx tools kanban import java util Date class Task String name
  • 在 TypeScript 中使用最新的 JavaScript 功能,例如 ES2018

    我尝试搜索有关其配置的 TypeScript 文档 但似乎找不到这个简单问题的答案 简单地说 如何配置 TypeScript 编译器以便它知道我们正在使用哪些 JavaScript 功能集 例如 ES2019 发布了 我想 哦 想给我一些
  • Angular 中的单元测试点击事件

    我正在尝试将单元测试添加到我的 Angular 2 应用程序中 在我的一个组件中 有一个带有 click 处理程序 当用户单击按钮时 将调用在中定义的函数 ts类文件 该函数在 console log 窗口中打印一条消息 表明该按钮已被按下
  • 是否可以使用 TypeScript 对 jQuery.fn.extend 进行建模

    我的猜测是 答案是 否 但我想检查一下是否有我错过的东西 jQuery 有一个fn extend 方法 http api jquery com jQuery fn extend 它允许您使用额外的方法来扩充 jQuery 对象 以下是 AP
  • 考虑使用“jsdom”测试环境

    我有这个简单的测试 import React from react import render from testing library react import Button from describe Button gt it rend
  • Nightmare.js 截图缓冲区长度 0

    我正在运行一个 night js 脚本 我试图在其中截取页面上多个元素的屏幕截图 The first元素被捕获得很好 但折叠下方的所有其他元素都以零长度捕获 我正在努力调试这个问题 任何帮助将非常感激 基本上这个脚本会遍历一个页面并选择al
  • 使用函数重载进行解构

    我正在尝试创建一个函数 该函数需要一对坐标或一个对象x and y属性并返回邻居列表 但由于某种原因 即使我检查了它的类型 我也无法解构该对象 interface Coords x number y number public getNei
  • 从 Angular 6 中的 html 导出 Pdf

    我想从 Angular 6 中的 html 导出 pdf 所以 我正在使用jspdf图书馆 但我不能给出颜色和背景颜色等样式 我怎样才能实现这个目标 如果有其他免费图书馆jspdf 我可以用它 您可以从下面的链接查看演示 DEMO http
  • 如何导入 nano (couchdb) - typescript

    我在节点应用程序中导入和使用 nano 时遇到问题 js 方式 来自文档 是 var nano require nano http localhost 5984 我该如何用打字稿做到这一点 I tried import as Nano fr
  • 在 C 中使用枚举而不是 #defines 作为编译时常量是否合理?

    在 C 工作了一段时间后 我将回到 C 开发领域 我已经意识到 在不必要的时候应该避免使用宏 以便让编译器在编译时为您做更多的工作 因此 对于常量值 在 C 中我将使用静态 const 变量或 C 11 枚举类来实现良好的作用域 在 C 中
  • 在 C# 中使用枚举值反序列化 Dictionary

    我正在尝试序列化 反序列化Dictionary
  • 通过 Angular 2 中的输入装饰器使用多个属性

    我有一个通过其选择器接收两个输入的组件 但这可以扩展到任意数量的输入和任何组件 因此 为了消耗组件本身的多个属性 Input 装饰器不允许我使用多个属性 因此作为解决方法 我对两个输入属性使用了两个装饰器 但我认为这不是解决这种情况的唯一方
  • 对自定义打字稿错误实例实施instanceof检查?

    打字稿有这个instanceof 检查自定义错误 https github com Microsoft TypeScript issues 13965问题 但尚不清楚我们需要做什么才能得到instanceof在职的 例如对于这个异常我们如何
  • 枚举上的 random.choice

    我想用random choice on an Enum I tried class Foo Enum a 0 b 1 c 2 bar random choice Foo 但是这段代码失败了KeyError 我怎样才能随机选择一个成员Enum
  • 使用 createReducer 函数时构建用于生产的 Angular+ngrx 8 时出错

    目前我正在尝试使用新的 NgRX 构建 Angular NgRX 8 应用程序creator功能 但是当我构建这个用于生产时 出现以下错误 装饰器中不支持函数调用 但在 reducers 中调用了 createReducer 在开发模式下完
  • 如何判断枚举属性是否已设置? C#

    我有一个具有枚举属性的类 如下所示 public class Foo public Color ColorType get set public enum Color Red Green 现在这个类可以像这样初始化 var foo new
  • Material.Angular.io mat-autocomplete [displayWith] 函数更新范围变量

    我遇到了一个问题 我可以在实例化 mat autocomplete 的组件控制器中访问本地声明的变量 我面临的问题是局部变量被困在这个范围内 我无法更新它们 有关更新 mat autocomplete 范围变量的任何想法或想法 最终我要做的
  • 如何修复带有单个道具的括号的 prettier 和 tslint 错误?

    我使用 prettier 和 tslint https github com alexjoverm tslint config prettier https github com alexjoverm tslint config prett
  • 如何将命名空间与 TypeScript 外部模块一起使用?

    我有一些代码 基本类型 ts export namespace Living Things export class Animal move export class Plant photosynthesize dog ts import

随机推荐