??Basci Algorihtm Scripting -- freecodecamp 3.14

【1】Reverse a String

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

Q1.思路:①'hello'.split(??);→['h','e','l','l','0'] ②Arr.reverse(); ③Arr.join();

A: 'hello'.split(''); 即可得到['h','e','l','l','0']

//第一遍,有问题
function reverseString(str) {
  var arrayOfString = str.split();
  
  var newArray = arrayOfString.reverse();
  
  var stringOfArray = newArray.join();
  
  return stringOfArray;
}

reverseString("hello");```
##正解☟  

function reverseString(str) {

var newStr = str.split("").reverse().join("");
return newStr;
}
reverseString("hello");```

这个可以,Why??

function reverseString(str) {
  return str.length ? reverseString(str.substr(1))+str.charAt(0) : "";
}
reverseString("hello");```
【2】Factorialize a Number
>计算一个整数的阶乘
如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积。阶乘通常简写成 n!例如: 5! = 1 * 2 * 3 * 4 * 5 = 120

#循环执行情况
i=1,sum=1\*1
i=2,sum=(1\*1)\*2
i=3,sum=(1\*1\*2)\*3
i=4,sum=(1\*1\*2\*3)\*4
i=5,sum=(1\*1\*2\*3\*4)*5
```
function factorialize(num) {
  var sum = 1;
  for(var i = 1;i<=num;i++){
     sum *= i;
  }
  return sum;
}

factorialize(5);```

【3】Check for Palindromes
>如果给定的字符串是回文,返回true,反之,返回false。
如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文)。
注意你需要去掉字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是否为回文。
函数参数的值可以为"racecar","RaceCar"和"race CAR"。

#??正则如何匹配标点符号(,和. )??
```
function palindrome(str) {
  //Good luck!
  var newStr = str.replace(/(,*)(\.*)(\s*)/gi,'');
  if(str === str.reverse()){
    return true;
  } else {
    return false;
  }  
}
palindrome("eye");```

Q:var re = /[\W_]/gi;  i表示忽略大小写,为何不行??
```
function palindrome(str) {
  var re = /[\W_]/g;
  var lowRegStr = str.toLowerCase().replace(re,"");
  var reverseStr = lowRegStr.split("").reverse().join("");
  return reverseStr === lowRegStr;
}
palindrome("eye");```

【4】Find the Longest Word in a String
>找到提供的句子中最长的单词,并计算它的长度。
函数的返回值应该是一个数字。

#return max;位置有问题
#函数执行顺序??
```
function findLongestWord(str) {
  var arr = str.split(" ");
  var max = arr[0].length;
   for(var i=0;i

你可能感兴趣的:(??Basci Algorihtm Scripting -- freecodecamp 3.14)