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);

希望自己記住這個坑~



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