簡體   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