Day 1 —— 翻转字符串挑战
解题思路:将输入数据string转换为数组存入新变量arr,使用reverse()方法颠倒数组中元素的顺序存入变量arrNew,将数组arrNew转换为string输出。
代码示例:
function reverseString(str){
var arr = str.plit("");
var arrNew = arr.reverse();
str = arrNew.join("");
return str;}
Day 2 —— 阶乘算法挑战
解题思路:用递归方法将数值阶乘细分为更小的数值阶乘
代码示例:
1. function factorialize(num){
var result = 1;
for(var i = 1; i <= num; i ++;){
result *= i;}
return result;}
2. function factorialize(num){
if(num == 0){
return 1;
}else{
for(var i = num; i > 1; i--){
num *= (i - 1)
}return num;
}}
Day 3 —— 回文算法挑战
解题思路:将输入的字符串转换为小写无空格字符串存储入新变量,用reverse方法颠倒字符串进行比较
代码示例:
function palindrome(str) {
var oldStr = str.toLowerCase().replace(/[^a-zA-Z0-9]/g,'');
var newStr = oldStr.split('').reverse().join('');
return oldStr==newStr ? true:false;
}
Day 4 —— 寻找最长的单词算法挑战
解题思路:将输入的语句转换为数组,初始化新变量maxLength = 0;用for循环遍历数组元素长度,将最大值赋给maxLength,输出。
代码示例:
function findLongestWord(str) {
var = str.split(" "); var maxLength = 0;
for(var i=0; i<arr.length; i++){
if(arr[i].length > maxLength){
maxLength = arr[i].length; } }
return maxLength; }