I'm a bit of a JS noob and I'm currently trying to learn array functions.
When trying to refactor some of my old code I stumbled across this:
export const determineValue = (events) => {
let eligible = false
for (const event of events) {
if (event.eventType === "1") {
eligible = true
} else if (event.eventType === "2") {
eligible = false
return eligible
}
}
return eligible
}
For this case, "1" and "2" are the only possible values of event.eventType.
How can I write this compactly?
Are there any best practices to consider here?
Thanks in advance for any clarification!
eventType's exist besides"1"and"2"?eventTypewith value"1". Soreturn events.every(event => event.eventType === "1"). Alternatively you can check if there is any property with value"2"and invert the outcome!events.some(event => event.eventType === "2").(There is probably a good duplicate for this somewhere.)falsewhen the array is empty. You can still use.every()or.some(), but you'll need an extra step:events.length === 0 ? false : events.every(event => event.eventType === "1"). (Though just a regular if-statement instead of a conditional operator might be better readable.)