Home > @rushstack/node-core-library > Enum > tryGetKeyByNumber
Enum.tryGetKeyByNumber() method
Returns an enum string key, given its numeric value. Returns undefined
if no matching value is found.
Signature:
static tryGetKeyByNumber<TEnumValue, TEnumObject extends {
[key: string]: TEnumValue;
}>(enumObject: TEnumObject, value: number): keyof typeof enumObject | undefined;
Parameters
Parameter | Type | Description |
---|---|---|
enumObject | TEnumObject | |
value | number |
Returns:
keyof typeof enumObject | undefined
Remarks
The TypeScript compiler only creates a reverse mapping for enum members whose value is numeric. For example:
enum E {
A = 1,
B = 'c'
}
// Prints "A"
console.log(E[1]);
// Prints "undefined"
console.log(E["c"]);
Example
Example usage:
enum Colors {
Red = 1,
Blue = 'blue'
}
// Prints "Red"
console.log(Enum.tryGetKeyByNumber(Colors, 1));
// Prints "undefined"
console.log(Enum.tryGetKeyByNumber(Colors, -1));