简体   繁体   中英

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM