Accepting an array as the first parameter to String.prototype.includes

Jordan Harband ljharb at gmail.com
Tue Mar 10 21:22:30 UTC 2015


Would `new Set(arr.concat(substrings)).length === arr.length` work?
Personally I find the "some" approach the clearest, though.

On Tue, Mar 10, 2015 at 1:42 PM, Garrett Smith <dhtmlkitchen at gmail.com>
wrote:

> On 3/10/15, Andrea Giammarchi <andrea.giammarchi at gmail.com> wrote:
> > I'm still having hard time understanding what's the difference between
> > contains and the good old indexOf beside the RegExp check ... but I agree
> > having multiple explicit searches instead of multiple implicit searches
> > won't make such big difference. Good news is, you probably will still use
> > RegExp anyway because names can be composed and haveing a \bName\b helper
> > is probably what you might need anyway :-)
> >
> > i.e. Maria !== Marianne
> >
>
> What if Array had a contains or containsAll functions?
>
>  var s = "Maria, Mariana";
>  var a = s.split(/\s*,\s*/);
>  ["Maria", "Mariana"].every(e=>{return a.indexOf(e)!=-1});
>  true
>
> But a `contains` function might be better than indexOf
>
>  ["Maria", "Mariana"].every(e=>{return a.contains(e)});
>
> But `containsAll` might be even better.
>
>  a.containsAll(["Maria", "Mariana"]) seems even easier to read for me.
>
> There is already `filter` for exclusions. What about merging arrays?
>
> Array.union(array2, array3, ...);
>
>
> > On Tue, Mar 10, 2015 at 3:31 PM, Bergi <a.d.bergi at web.de> wrote:
> >
> >> Edwin Reynoso wrote:
> >>
> >> > There are times where I would like to check whether a string has every
> >> > occurrence of certain strings/numbers:
> >> >
> >> > Now to achieve what I would like `String.prototype.includes` to
> >> accomplish
> >> > with an array as the first parameter, I currently take the following
> >> > approach:
> >> >
> >> > var str = "John,Mary,Bob,Steve";
> >> > var names = ["Mary", "Bob"];
> >> > names.every(name => str.includes(name)); // true;
> >>
> >> And that's perfectly fine imho, pretty expressive about what is done
> >> about
> >> the array. Just passing an array to `.includes` is rather meaningless
> >> (not
> >> denotative).
> >>
> >> If we need a method to do this (to allow for native optimisations with
> >> fancy string search algorithms), I'd suggest to use a different method
> >> name
> >> like `String.prototype.includesAll`.
> >>
> >>  Bergi
> >> _______________________________________________
> >> es-discuss mailing list
> >> es-discuss at mozilla.org
> >> https://mail.mozilla.org/listinfo/es-discuss
> >>
> >
>
>
> --
> Garrett
> @xkit
> ChordCycles.com
> garretts.github.io
> personx.tumblr.com
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20150310/57d56bed/attachment-0001.html>


More information about the es-discuss mailing list