首页 > 代码库 > JavaScript中字符和数组一些基本算法题
JavaScript中字符和数组一些基本算法题
1、翻转字符串
例子(要求:先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串) function reverseString(str) { str=str.split(‘‘).reverse().join(‘‘); return str; } reverseString("hello");
//split方法把字符串转换成数组
//reverse方法翻转数组顺序
//join
方法来把数组转换成字符串
2、计算一个整数的阶乘
例子(如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积。阶乘通常简写成 n! ; 例如: 5! = 1 * 2 * 3 * 4 * 5 = 120)
要求:factorialize(0)
应该返回 1.
function factorialize(num) { if(num<1){ return 1; }else{ return num*factorialize(num-1); } } factorialize(5);
3、如果给定的字符串是回文,返回true
,反之,返回false
。
如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文)。 注意需要去掉字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是否为回文。 函数参数的值可以为"racecar","RaceCar"和"race CAR"。 function palindrome(str) { astr=str.replace(/[^0-9A-Za-z]/g,‘‘).toLowerCase(); bstr=astr.split("").reverse().join(""); if(astr===bstr){ return true; }else{ return false; } } palindrome("eye");
//正则表达式还可以是:/8
astr=str.replace(/[\ |\~|\`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=|\||\\|\[|\]|\{|\}|\;|\:|\"|\‘|\,|\<|\.|\>|\/|\?]/g,"").toLowerCase();
4、找到提供的句子中最长的单词,并计算它的长度。
注意:函数的返回值应该是一个数字。
function findLongestWord(str) { //转化成数组 var astr=str.split( " " ); //对数组中每个元素的字符串长度进行比较,按照字符串长度由大至小排列数组顺序。 var bstr=astr.sort(function(a,b){ return b.length-a.length; }); //取出数组中第一个元素(也就是最大长度的字符串) var lenMax= bstr[0].length; //返回长度值 return lenMax; } findLongestWord("The quick brown fox jumped over the lazy dog");
JavaScript中字符和数组一些基本算法题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。