JS - 算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 - 算法的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

以下代码片段的算法复杂度

有人可以解释啥是 SVN 平分算法吗?理论上和通过代码片段[重复]

片段(Java) | 机试题+算法思路+考点+代码解析 2023

js代码片段: utils/lcoalStorage/cookie