首页 > 代码库 > JS - 算法

JS - 算法

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 - 算法