enum Colors {
Red = "RED",
Green = "GREEN",
Blue = "BLUE",
Other = 1
}
注意:此枚举仅用于演示。我实际上并没有混合数字和字符串,但这比编写两个枚举来显示错误要容易得多。
现在,在我的代码中,我希望检查枚举中是否有特定的值,但是,当检查字符串enum
s时,它总是为false
'RED' in Colors // false
"RED" in Colors // false
'GREEN' in Colors // false
"GREEN" in Colors // false
1 in Colors // true
我检查了编译后的代码,这就是它的样子
var Colors;
(function (Colors) {
Colors["Red"] = "RED";
Colors["Green"] = "GREEN";
Colors["Blue"] = "BLUE";
Colors[Colors["Other"] = 1] = "Other";
})(Colors || (Colors = {}));
您是按属性值进行访问,但是运算符中的被用来按
属性名
进行访问。
您的数据如下所示:
js prettyprint-override">var Colors = {
Red: "RED"
}
因此,您可以测试键
red
是否在Colors
:'red'在Colors//true
中
var Colors = {
Red: "RED"
}
function valueInColors(needed) {
for(let k in Colors) {
if(Colors.hasOwnProperty(k) && Colors[k] === needed) {
return true;
}
}
return false;
}
console.log(valueInColors('RED'))
本文向大家介绍C#枚举到字符串并返回,包括了C#枚举到字符串并返回的使用技巧和注意事项,需要的朋友参考一下 示例
“String”类型的参数不能分配给“Types”类型的参数。
我的模式如下 我正在尝试编写一个方法来检查代码并返回相应的枚举。 event.getStatusCode的有效值是:A,T,U。现在我需要检查这些代码并根据代码返回枚举。我尝试了上面的方法,但它给我代码=["A"]的错误。下面是错误状态。 我该怎么解决这个问题?我是java新手。非常感谢您的帮助,谢谢
我用一些字符串作为属性的常量创建了一个枚举。每个常数中字符串的数量都不一样,所以我使用了varargs(第一次这样做)。这是我的枚举: 现在我想要能够键入类似的内容:
我有一个类似这样的字符串枚举: 我有一个包含一些字符串的列表。 我想迭代someStringList并为它找到相应的枚举。 例如:列表包含字符串“一些值”和“一些第三个值”,然后我想使用JavaStream-API返回一个包含SomeEnum.STRING1和SomeEnum.STRING3的列表 不知何故,我无法让它工作。我尝试了这样的事情: 但这不会编译,因为它不会返回任何内容。有什么想法吗?
问题内容: 这是我的问题-我正在寻找(如果存在的话)等效于的枚举。 这是我的代码问题的一个示例: 现在,我意识到,使用of 是最好的方法,但是我必须通过其他地方的开关/案例来运行我的枚举内容。因此,我的问题。 假设这样的事情不存在,我该怎么做呢? 问题答案: 应该这样做: 这样,您不必担心以后再添加其他枚举值,它们都已选中。 编辑: 如果枚举很大,则可以将值粘贴在HashSet中: 然后,您可以做