[英]Object.values seems not to work in enum type
我在我的应用程序中定义了这个枚举:
export enum Status {
BOOKED = 'B',
FREE = 'F',
}
我在控制台上添加了这条消息
console.log ('<------------------------------------>');
console.log (code.value);
console.log (Object.values(Status));
console.log (code.value in Object.values(Status));
console.log ('<------------------------------------>');
<------------------------------------>
我在控制台上看到了这个,code.value 不包含在枚举中; 我应该看到真实的
B
[ 'B', 'F' ]
false
你有这个 object
export enum Status {
BOOKED = 'B',
FREE = 'F',
}
Object.values(Status)
会给你[ 'B', 'F' ]
这是预期的
阅读此内容以获取更多信息 -
Object.values() 方法返回给定对象自己的可枚举属性值的数组,其顺序与 for...in 循环提供的顺序相同。 (唯一的区别是 for...in 循环也枚举原型链中的属性。)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values
您应该使用array.include()
检查数组是否包含值https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes
const values = Object.values(Status);
console.log(values.includes(code.value));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.