1. 程式人生 > >JS字串的match方法一個讓人惱火的特性

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

希望自己記住這個坑~