JavaScript - 基础面函数 - XXOO

这篇博客探讨了JavaScript中的一个基础问题——如何检查字符串中'x'和'o'的数量是否相等,该方法需忽略大小写并返回布尔值。文章通过示例解释了XO函数的应用,并详细讲解了match函数的用法,包括其在全局匹配、单个匹配和多个匹配情况下的行为,以及返回结果的不同属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 检查字符串是否具有相同数量的'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 

参数不正确

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值