JS字符串的match方法一个让人恼火的特性

假如有这样一个需求:

给定一个字符串,找出里面字母A的出现次数。

我首先想到的方法是正则。

借助字符串的match方法,可以很快地全局匹配,而无须使用循环。

console.log(str.match(/A/g).length);

然而,这样做有一个问题:

假如字符串中没有A,也就是说,一次都匹配不上。

此时,match方法不会返回空数组,而是会返回null

Null肯定是没有length属性的,所以会报错!

所以,比较稳妥的写法,得像这样:

var res = str.match(/A/g) || [];
console.log(res.length);

希望自己记住这个坑~



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章