The split approach is interesting. I was playing with different options, but not with this. Also, I found that using toLowerCase() made the code considerably slower, it works considerably faster if you use a regular expression in the split:
I think this is my favourite solution. I hadn't checked its speed, but I thought that toLowerCase() probably didn't make it any smoother than returning an empty array if there are no matches.
The split approach is interesting. I was playing with different options, but not with this. Also, I found that using
toLowerCase()
made the code considerably slower, it works considerably faster if you use a regular expression in the split:I think this is my favourite solution. I hadn't checked its speed, but I thought that
toLowerCase()
probably didn't make it any smoother than returning an empty array if there are no matches.I checked different solutions with jsperf and this was the second fastest by a little (but results may vary.)