標籤:階乘 reverse UI replace tar logs title substr 重複
一、翻轉字串
先把字串轉化成數組,再藉助數組的reverse方法翻轉數組順序,最後把數組轉化成字串。
1 function reverseString(str) {2 var array = [];3 array = str.split("").reverse().join("") ;4 return array;5 }6 7 reverseString("hello");
二、計算一個整數的階乘
如果用字母n來代表一個整數,階乘代表著所有小於或等於n的整數的乘積。
function factorialize(num) { if (num<=1){ return 1; }else { return num*factorialize(num-1); }}factorialize(5);
三、如果給定的字串是迴文,返回true,反之,返回false。
如果一個字串忽略標點符號、大小寫和空格,正著讀和反著讀一模一樣,那麼這個字串就是palindrome(迴文)。
function palindrome(str) { var re = /[\W_]/g; var lowRegStr = str.toLowerCase().replace(re,‘‘); var reverseStr = lowRegStr.split(‘‘).reverse().join(‘‘); return reverseStr === lowRegStr;}palindrome("eye");
四、找到提供的句子中最長的單詞,並計算它的長度。
function findLongestWord(str) { var arr = []; arr = str.split(" "); var max=0; var t=0; for (var i = 0; i < arr.length; i++) { t=arr[i].length; if(t>max){ max= t; } } return max; }findLongestWord("The quick brown fox jumped over the lazy dog");
五、確保字串的每個單詞首字母都大寫,其餘部分小寫。
function titleCase(str) { var arr = str.toLowerCase().split(" "); for(var i = 0;i < arr.length;i++){ var char = arr[i].charAt(0); arr[i]=arr[i].replace(char,function replace(char){ return char.toUpperCase(); }); } return arr.join(" ");}titleCase("I‘m a little tea pot");
六、右邊大數組中包含了4個小數組,分別找到每個小數組中的最大值,然後把它們串聯起來,形成一個新數組。
function largestOfFour(arr) { var lar = [0,0,0,0]; for(var i = 0;i<arr.length;i++){ for(var j = 0; j < arr[i].length; j++){ if(lar[i]<arr[i][j]){ lar[i] = arr[i][j]; } } } return lar;}largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
七、檢查一個字串(str)是否以指定的字串(target)結尾。
function confirmEnding(str, target) { if ( str.substr(str.length-target.length , str.length) === target) { return true; }else { return false; }}confirmEnding("Bastian", "n");
八、重複一個指定的字串 num次,如果num是一個負數則返回一個Null 字元串。
function repeat(str, num) { var astr=str; if(num<0){ return ""; }else{ for(var i=0;i<num-1;i++){ str+=astr; } return str; }}repeat("abc", 3);
javascript的一些基礎練習題