Working on a piece of code this happened to me:
async function getStatusesListForFilter(statusesToFilter, allStatuses) {
const arrayOfStatuses = Array.isArray(statusesToFilter)
? statusesToFilter
: statusesToFilter
.split(',')
.filter(item => item !== '')
.map(item => item.trim());
const filterOptions = {
Active: DELIVERIES.ACTIVE_STATUSES,
Inactive: DELIVERIES.INACTIVE_STATUSES,
All: allStatuses.map(status => status.name),
};
return filterOptions[arrayOfStatuses] || arrayOfStatuses;
}
Can anybody explain why does this work?
return filterOptions[arrayOfStatuses] || arrayOfStatuses;
This is basically doing this filterOptions[['Any Value']] and it works!
Thanks in advance, it seems that the object parses whatever you pass between [] as a string.