如何在打字稿中获取带有枚举值的枚举键

问题描述 投票:0回答:3

在我正在从事的项目中,我们有这个广泛使用的枚举:

export enum A{
    Document = '1',
    Person = '2',
    Organization = '3',
    Equipment = '4',
    Location = '5',
    Event = '6',
    Link = '7',
    Target = '8',
}

示例:我想用

Organization
 获得 
A['3']

typescript
3个回答
1
投票

对象键

enum A {
    Document = '1',
    Person = '2',
    Organization = '3',
    Equipment = '4',
    Location = '5',
    Event = '6',
    Link = '7',
    Target = '8',
}

console.log(Object.keys(A)[Object.values(A).indexOf("1")]);


1
投票

您可以使用 Object.entries 来做到这一点:

enum A{
    Document = '1',
    Person = '2',
    Organization = '3',
    Equipment = '4',
    Location = '5',
    Event = '6',
    Link = '7',
    Target = '8',
}

const param = '3';
const value = Object.entries(A).find(([_, v]) => v === param)![0];

TS游乐场


0
投票

以上都不起作用。它们都返回一个与 Enum 等效的字符串,但与 Enum 不同

© www.soinside.com 2019 - 2024. All rights reserved.