当前位置: 首页 > 知识库问答 >
问题:

枚举值到数组[重复]

燕野
2023-03-14
    enum A {
        dog = 1,
        cat = 2,
        ant = 3
    }
    Object.values(A)

而且返回的值(0,1,2)与给定的值(1,2,3)也不匹配。我怎么才能做到?

共有1个答案

柴默
2023-03-14

因为typescript会将枚举编译为以下内容,所以您不能提供简短的答案

var A;
(function (A) {
    A[A["dog"] = 1] = "dog";
    A[A["cat"] = 2] = "cat";
    A[A["ant"] = 3] = "ant";
})(A || (A = {}));

链接到typescript游乐场

但是,由于枚举不能有数字键,因此可以执行以下操作来获取键

Object.keys(A).filter(isNaN)
 类似资料:
  • 为什么我在浏览java时看不到

  • 枚举具有名为'hash value'的属性,该属性是枚举内的索引。

  • 问题内容: 我想知道如何重新排序枚举,以便所有山羊都在数组的开头而所有羊都在数组的结尾。现在,它实际上可以解决问题,但是要等到数组大小> 100为止。重新排序的速度也很重要,因此api方法有点太慢了。有什么建议? 问题答案: 由于是Implements ,您可以简单地对数组进行排序然后反转: 您也许还可以做到以下几点: 这与API调用基本上具有相同的作用,只是将数组包装在对象中的开销非常小。您甚至

  • 问题内容: 假设是,我将如何产生给定序数的枚举值? 问题答案: 足够了。一条线; 足够简单。

  • 问题内容: 假设我有一个枚举,然后实例化一个天数组。 如何将一天(例如)设置为所有“天”的默认值?如果如上所述进行设置,则所有元素均为空。我希望通过枚举表现得更像ints和Strings,它们分别初始化为0和“”。 问题答案: 正如其他人所说,枚举是引用类型-它们只是特定类的编译器语法糖。JVM不了解它们。这意味着该类型的默认值为null。当然,这不仅会影响数组- 这意味着类型为枚举的任何字段的初

  • 有没有更好的办法解决这个问题?