码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript中字符和数组一些基本算法题

时间:2016-12-30 21:47:22      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:数字   基本算法   rip   java   long   row   turn   数组   hello   

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中字符和数组一些基本算法题

标签:数字   基本算法   rip   java   long   row   turn   数组   hello   

原文地址:http://www.cnblogs.com/caojiayan/p/6238212.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!