enum A {
dog = 1,
cat = 2,
ant = 3
}
Object.values(A)
而且返回的值(0,1,2)
与给定的值(1,2,3)
也不匹配。我怎么才能做到?
因为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。当然,这不仅会影响数组- 这意味着类型为枚举的任何字段的初
有没有更好的办法解决这个问题?