1. 程式人生 > >【2018-11-14】初級腳本算法挑戰

【2018-11-14】初級腳本算法挑戰

lse 多余 返回 urn 分享 factor str you true

1.翻轉字符串算法

技術分享圖片
1 function reverseString(str) {
2     var res=str.split("").reverse().join("");
3     return res;
4 }
5 reverseString("hello");
View Code

2.階乘算法

技術分享圖片
1 function factorialize(num) {
2     var res=1;
3     for(;num>0;num--)
4     {
5         res*=num;
6     }
7     return res;
8 }
9 factorialize(5);
View Code

3.回文算法

  如果給定的字符串是回文,返回true,反之,返回falsepalindrome(回文)是指一個字符串忽略標點符號、大小寫和空格,正著讀和反著讀一模一樣。註意:您需要刪除字符串多余的標點符號和空格,然後把字符串轉化成小寫來驗證此字符串是不是回文。函數參數的值可以為"racecar""RaceCar""race CAR"

技術分享圖片
 1 function palindrome(str) {
 2     // Good luck!
 3     var newStr1=str.replace(/[^0-9a-z]/gi,"").toLowerCase();//整理
 4
var newStr2=newStr1.split("").reverse().join("");//翻轉 5 var bool=false; 6 if(newStr1==newStr2) 7 bool=true; 8 return bool; 9 } 10 palindrome("race car");
View Code

4.尋找最長的單詞算法

  返回提供的句子中最長的單詞的長度。

技術分享圖片
 1 function findLongestWord(str) {
 2     var strArray=str.split(" ");
 3     var
maxLength=0; 4 for(var i=0;i<strArray.length;i++) 5 { 6 if(strArray[i].length>maxLength) 7 maxLength=strArray[i].length 8 } 9 return maxLength; 10 } 11 12 findLongestWord("The quick brown fox jumped over the lazy dog");
View Code

5.設置首字母大寫算法

  返回一個字符串,確保字符串的每個單詞首字母都大寫,其余部分小寫。像‘the‘和‘of‘這樣的連接符同理。

技術分享圖片
1 function titleCase(str) {
2     var strArray=str.toLowerCase().split(" ");
3     for(var i=0;i<strArray.length;i++)
4     {
5         strArray[i]=strArray[i][0].toUpperCase()+strArray[i].substring(1,strArray[i].length);
6     }
7     return strArray.join(" ");
8 }
9 titleCase("I‘m a little tea pot");
View Code

6.尋找數組中的最大值算法

  在數組中包含了4個小數組,請分別找到每個小數組中的最大值,然後把它們串聯起來,形成一個新的數組。提示:你可以用for循環來叠代數組,並通過arr[i]的方式來訪問數組的每個元素。

技術分享圖片
 1 function largestOfFour(arr) {
 2     // You can do this!
 3    var resArray=[0,0,0,0];
 4    for(var i=0;i<arr.length;i++)
 5    {
 6        for(var j=0;j<arr[i].length;j++)
 7        {
 8            if(arr[i][j]>resArray[i])
 9            {
10                resArray[i]=arr[i][j];
11            }
12        }
13    }
14    return resArray;
15 }
16 largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
View Code

【2018-11-14】初級腳本算法挑戰