Ricevo un numero type = 3
e devo verificare se esiste in questo enum:
export const MESSAGE_TYPE = {
INFO: 1,
SUCCESS: 2,
WARNING: 3,
ERROR: 4,
};
Il modo migliore che ho trovato è quello di ottenere tutti i valori di Enum come un array e utilizzare indexOf su di esso. Ma il codice risultante non è molto leggibile:
if( -1 < _.values( MESSAGE_TYPE ).indexOf( _.toInteger( type ) ) ) {
// do stuff ...
}
C'è un modo più semplice per farlo?
!!MESSAGE_TYPE[type]
controllare se esiste un valore. MESSAGE_TYPE[type]
tornerà indefinito se il valore di type
non esiste suMESSAGE_TYPE
0
, però.
MESSAGE_TYPE[type] !== undefined
if(Object.values(MESSAGE_TYPE).includes(+type)
? Non c'è molto che puoi fare.