踩坑笔记——JavaScript判断回文程序
2016-07-13 19:12
489 查看
遇见JavaScript判断回文,本想着很快能过,对JavaScript的不熟悉还是让我废了好长时间。
最初写的代码如下:
被提示str.split is not a function,不懂什么原理,但依照stackoverflow中添加了
经多次验证又发现reverse()方法是会改变自身数组的,所以一直都是true+_+。
最后的版本是这样的:
还有这样:
两次分别使用了replace()方法和match()方法。但是正则表达式真是不会啊摔!!!
正则表达式晕晕晕!!!
JavaScript中的数组复制也要注意。
str.split is not a function依然不清楚为什么。
ask - search - read
最初写的代码如下:
function palindrome(str) { // Good luck! var bool = true; str = str.toLowerCase(); var get = /^[a-z0-9]+$/g; str = str.match(get); var str1 = str.split(""); var str2 = str1.reverse(); for(var i = 0; i<str1.length; i++){ if(str1[i] != str2[i]){ bool = false; break; } } return bool; } palindrome("eye123");
被提示str.split is not a function,不懂什么原理,但依照stackoverflow中添加了
str = str + "";
经多次验证又发现reverse()方法是会改变自身数组的,所以一直都是true+_+。
最后的版本是这样的:
function palindrome(str) { // Good luck! var bool = true; str = str.toLowerCase(); var get = /[a-z0-9]/g; str = str.match(get); str = str + ""; var str1 = str.split(""); var str2 = str1.reverse().slice(); str1.reverse(); for(var i = 0; i<str1.length; i++){ if(str1[i] != str2[i]){ bool = false; break; } } return bool; } palindrome("0_0 (: /-\ :) 0-0");
还有这样:
function palindrome(str) { // Good luck! var bool = true; str = str.toLowerCase(); str = str.replace(/[^A-Za-z0-9]/g,''); str = str + ""; var str1 = str.split(""); var str2 = str1.reverse().slice(); str1.reverse(); for(var i = 0; i<str1.length; i++){ if(str1[i] != str2[i]){ bool = false; break; } } return bool; } palindrome("0_0 (: /-\ :) 0-0");
两次分别使用了replace()方法和match()方法。但是正则表达式真是不会啊摔!!!
总结
对reverse() 方法使用不透彻正则表达式晕晕晕!!!
JavaScript中的数组复制也要注意。
str.split is not a function依然不清楚为什么。
ask - search - read
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解