Tôi nhận được một số type = 3
và phải kiểm tra xem nó có tồn tại trong enum này không:
export const MESSAGE_TYPE = {
INFO: 1,
SUCCESS: 2,
WARNING: 3,
ERROR: 4,
};
Cách tốt nhất tôi tìm thấy là lấy tất cả các giá trị Enum dưới dạng một mảng và sử dụng indexOf trên đó. Nhưng mã kết quả không phải là rất dễ đọc:
if( -1 < _.values( MESSAGE_TYPE ).indexOf( _.toInteger( type ) ) ) {
// do stuff ...
}
Có cách nào đơn giản hơn để làm điều này?
!!MESSAGE_TYPE[type]
để kiểm tra nếu một giá trị tồn tại. MESSAGE_TYPE[type]
sẽ trả về không xác định nếu giá trị của type
không tồn tại vàoMESSAGE_TYPE
0
.
MESSAGE_TYPE[type] !== undefined
if(Object.values(MESSAGE_TYPE).includes(+type)
? Bạn không thể làm được gì nhiều.