FreeCodeCamp 的 Basic Algorithm Scripting 题解(1)

时间:2021-11-26 05:55:48

这是本人的原创文章,转载请注明原文链接http://www.cnblogs.com/wusuowiaaa1blog/p/5932121.html

1.Reverse a String


翻转字符串

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

你的结果必须得是一个字符串

Global String Object

String.split()

Array.reverse()

Array.join()

 var array = [];
function reverseString(str) {
array = str.split();
array = array.reverse();
return array.join();
} reverseString("hello");

2.Factorialize a Number


计算一个整数的阶乘

如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积。

阶乘通常简写成 n!

例如: 5! = 1 * 2 * 3 * 4 * 5 = 120

Arithmetic Operators

 function factorialize(num) {
if(num<1){
return 1;
}else{
return factorialize(num-1)*num;
}
} factorialize(5);

3.Check for Palindromes


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

如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文)。

注意你需要去掉字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是否为回文。

函数参数的值可以为"racecar""RaceCar""race CAR"

 function palindrome(str) {
// Good luck!
newstr = str.replace(/[^0-9A-Za-z]+/g,'').toLowerCase();
realstr = newstr.split("").reverse().join("");
if(newstr == realstr){
return true;
}else{
return false;
}
}
palindrome("eye");

4.Find the Longest Word in a String

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

函数的返回值应该是一个数字。

 function findLongestWord(str) {
var wordarray = str.split(' ');
var max = 0;
for(var i=0;i<wordarray.length;i++){
if (wordarray[i].length > max ){
max = wordarray[i].length;
}
}
return max;
} findLongestWord("The quick brown fox jumped over the lazy dog");

5.Title Case a Sentence


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

像'the'和'of'这样的连接符同理。

String.split()

 function titleCase(str) {
var wordArray = str.toLowerCase().split(' ');
for(var i=0;i<wordArray.length;i++){
var char = wordArray[i].charAt(0);
wordArray[i] = wordArray[i].replace(char,function replace(char){
return char.toUpperCase();
});
}
return wordArray.join(" ");
} titleCase("I'm a little tea pot");