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 

参数不正确

 

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