【2018-11-14】初級腳本算法挑戰
阿新 • • 發佈:2018-11-15
lse 多余 返回 urn 分享 factor str you true
View Code
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);
3.回文算法
如果給定的字符串是回文,返回true
,反之,返回false
。palindrome(回文)是指一個字符串忽略標點符號、大小寫和空格,正著讀和反著讀一模一樣。註意:您需要刪除字符串多余的標點符號和空格,然後把字符串轉化成小寫來驗證此字符串是不是回文。函數參數的值可以為"racecar"
,"RaceCar"
和"race CAR"
。
1 function palindrome(str) { 2 // Good luck! 3 var newStr1=str.replace(/[^0-9a-z]/gi,"").toLowerCase();//整理 4View Codevar newStr2=newStr1.split("").reverse().join("");//翻轉 5 var bool=false; 6 if(newStr1==newStr2) 7 bool=true; 8 return bool; 9 } 10 palindrome("race car");
4.尋找最長的單詞算法
返回提供的句子中最長的單詞的長度。
1 function findLongestWord(str) { 2 var strArray=str.split(" "); 3 varView CodemaxLength=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");
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】初級腳本算法挑戰