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.)
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.