繁体   English   中英

Object.values 似乎不适用于枚举类型

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM