JavaScript - 基礎面函數 - XXOO

 檢查字符串是否具有相同數量的'x'和'o'。該方法必須返回一個布爾值並且不區分大小寫。

示例:

XO("ooxx") => true

XO("xooxx") => false

XO("ooxXm") => true

XO("zpzpzpp") => true // when no 'x' and 'o' is present should return true

XO("zzoo") => false

function XO(str) {
  let x = str.match(/x/gi);
  let o = str.match(/o/gi);
  return (x && x.length) === (o && o.length);
}

match 函數的用法: 

js中match函數方法是使用正則表達式模式對字符串執行查找,並將包含查找的結果作爲數組返回

str.match(RegExp)

str :  是一個字符串的對象,  這個方法也是字符串的方法

RegExp : 正則

g: 全局匹配(匹配多次)

i: 忽略大小寫

有幾種結果:

1  --> 匹配不到

匹配不到返回 null

 

2 --> 不傳參數

如果不傳參數, 那麼值爲空字符串.

同樣是有這幾個屬性

不傳參數

3 --> 匹配單個

匹配單個的時候, (無論是單個還是多個)會返回一個數組, 

區別在於, 匹配的單個的數組, 會額外多出來幾個參數.

input: 是被解析的原始字符串

index: 是匹配匹配到的開始的索引

groups: 我就不清楚了(如果知道的話,可以評論一下)

匹配單個

4 --> 匹配多個

返回一個所以被匹配到的數組, 

每匹配到一項就把這一項放到數組中

相比於 匹配單個 少了幾個屬性.這個要注意一下

匹配多個

5 --> 如果不是一個正則的參數

截圖於 MDN 

參數不正確

 

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