Otrzymuję numer type = 3
i muszę sprawdzić, czy istnieje w tym wyliczeniu:
export const MESSAGE_TYPE = {
INFO: 1,
SUCCESS: 2,
WARNING: 3,
ERROR: 4,
};
Najlepszym sposobem, jaki znalazłem, jest pobranie wszystkich wartości wyliczenia jako tablicy i użycie na niej indexOf. Ale wynikowy kod nie jest zbyt czytelny:
if( -1 < _.values( MESSAGE_TYPE ).indexOf( _.toInteger( type ) ) ) {
// do stuff ...
}
Czy istnieje prostszy sposób na zrobienie tego?
!!MESSAGE_TYPE[type]
sprawdzić, czy istnieje wartość. MESSAGE_TYPE[type]
zwróci wartość undefined, jeśli wartość type
nie istnieje w dniuMESSAGE_TYPE
0
.
MESSAGE_TYPE[type] !== undefined
if(Object.values(MESSAGE_TYPE).includes(+type)
? Niewiele możesz zrobić.