Я получил номер type = 3
и должен проверить, существует ли он в этом перечислении:
export const MESSAGE_TYPE = {
INFO: 1,
SUCCESS: 2,
WARNING: 3,
ERROR: 4,
};
Лучший способ, который я нашел, - это получить все значения Enum в виде массива и использовать для него indexOf. Но полученный код не очень разборчивый:
if( -1 < _.values( MESSAGE_TYPE ).indexOf( _.toInteger( type ) ) ) {
// do stuff ...
}
Есть ли более простой способ сделать это?
!!MESSAGE_TYPE[type]
проверить, существует ли значение. MESSAGE_TYPE[type]
вернет undefined, если значение type
не существует наMESSAGE_TYPE
0
, хотя одно из значений enum сопоставляется .
MESSAGE_TYPE[type] !== undefined
if(Object.values(MESSAGE_TYPE).includes(+type)
? Там не так много, вы можете сделать.