假如有这样一个需求:
给定一个字符串,找出里面字母A的出现次数。
我首先想到的方法是正则。
借助字符串的match方法,可以很快地全局匹配,而无须使用循环。
console.log(str.match(/A/g).length);
然而,这样做有一个问题:
假如字符串中没有A,也就是说,一次都匹配不上。
此时,match方法不会返回空数组,而是会返回null。
Null肯定是没有length属性的,所以会报错!
所以,比较稳妥的写法,得像这样:
var res = str.match(/A/g) || [];
console.log(res.length);
希望自己记住这个坑~