检查回文字符串

最近开始在freeCodeCamp上学习,对JavaScript的算法部分的题目进行记录,强化一下自己的知识点,也方便以后复习。
题目描述:
如果给定的字符串是回文,返回true,反之,返回false。
如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文)。
思考:
实现该函数需要我们先去掉字符串多余的标点符号和空格,这里需要用到String对象的replace()方法。
replace() 方法返回一个由替换值替换一些或所有匹配的模式后的新字符串。模式可以是一个字符串或者一个正则表达式,替换值可以是一个字符串或者一个每次匹配都要调用的函数。在RegExp对象中,元字符是拥有特殊含义的字符,比如\w查找单词字符,\W查找非单词字符,\s查找空白字符,\S查找非空白字符,详情可参考JavaScript RegExp 对象,所以我们用str = str.replace(/[\W\s_]/gi``, ''); 来去掉多余的非常规字符。
第一步实现之后我们只需要将字符串转换为小写,再利用数组的reverse()方法即可轻松实现。

function palindrome(str) {
  str = str.toLowerCase().replace(/[\W\s_]/g, '');
  return str === str.split("").reverse().join("");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值