一、翻轉字符串
先把字符串轉化成數組,再借助數組的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
是一個負數則返回一個空字符串。
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);