ฉันได้รับหมายเลขtype = 3
และต้องตรวจสอบว่ามีอยู่ใน enum นี้:
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]
จะกลับมาไม่ได้กำหนดหากไม่มีค่าtype
อยู่ในMESSAGE_TYPE
0
แม้ว่า
MESSAGE_TYPE[type] !== undefined
if(Object.values(MESSAGE_TYPE).includes(+type)
? มีไม่มากที่คุณสามารถทำได้