'Better way to validate an array
I have a function that removes tags inside a collection, sometimes the parameter can be an Array others times just a variable.
I'm doing the parsing like so, just wondering if there is a cleaner way to do it?
I already tried [...tag] but that just split the string
this.removeNotificationTag = async (userId, tag) => {
const tagsToRemove = Array.isArray(tag) ? tag : [tag];
// if tag is a variable make it an array.
};
Tried the spread operator, but that just splitted the string.
Solution 1:[1]
Your code is fine, that's the generic way to do it.
If your input is either string or string[], you could also use typeof:
this.removeNotificationTag = async (userId, tag) => {
const tagsToRemove = typeof tag === 'string' ? [tag] : tag;
// the rest of the code...
};
But this is less generic and the code is the same length, so I would stick with what you wrote in the first place.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Ben |
