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

JS - 算法

时间:2017-06-01 00:33:44      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:als   查询   false   character   ret   rac   字符   lazy   factorial   

1. 翻转字符串

先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串。

function reverseString(str) {
  // 1. 字符串转换成数组
  // 2. 数组的reverse()方法翻转
  // 3. 数组转换成字符串

  var newArrayString = str.split("");
  console.log(newArrayString);

  var newArrayReverse = newArrayString.reverse();
  console.log(newArrayReverse);

  var str = newArrayReverse.join("");
  console.log(str);

  return str;
}

reverseString("hello");

 

 

2. 计算一个整数的阶乘

function factorialize(num) {
  result = 1;
  while(num >= 1) {
    result *= num;
    num--;
  }
  return result;
}

factorialize(5);

 

 

3. 如果给定的字符串是回文,返回true,反之,返回false

function palindrome(str) {
  // 1. 过滤掉所有空格,标点符号,空格,其他字符,只留字母
  // 2. 全部转换为小写

  // \W Matches any non-word character. Equivalent to [^A-Za-z0-9_].

  return str.replace(/[\W_]/g, ‘‘).toLowerCase() === str.replace(/[\W_]/g, ‘‘).toLowerCase().split(‘‘).reverse().join(‘‘);

}


console.log(palindrome("ab0ba"));

 

 

4. 找到提供的句子中最长的单词,并计算它的长度。

function findLongestWord(str) {
  // 1. 将文本转换成数组
  // 2. 使用循环遍历查询最长的单词

  var newStringArray = str.split(" ");
  var longestStr = newStringArray[0].length;
  for(var i = 1; i < newStringArray.length; i++) {
    if(longestStr < newStringArray[i].length) {
      longestStr = newStringArray[i].length;
    }
  }
  return longestStr;
}

findLongestWord("The quick brown fox jumped over the lazy dog");

 

 

 

5. 确保字符串的每个单词首字母都大写,其余部分小写。

 

JS - 算法

标签:als   查询   false   character   ret   rac   字符   lazy   factorial   

原文地址:http://www.cnblogs.com/elewei/p/6926290.html

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