一、Reverse a String 字符串倒序输出
思路:
1、打散成为单字符数组
2、把数组反序
3、把反序后的数组合拼成为结果字符串
代码如下:
function reverseString(str) {
return str.split('').reverse().join('');
}
reverseString("hello");
二、Factorialize a Number 求一个整数的阶乘
思路:
比较简单,就一个循环乘上去
代码如下:
function factorialize(num) {
var r = 1;
for(var i=1;i<=num;i++){
r = r * i;
}
return r;
}
factorialize(5);
三、Check for Palindromes 回文检查
思路:
1、先把特殊字符去掉
2、把字符串反序
3、比较顺序与序串是否相等
代码如下:
function palindrome(str) {
var pattern = new RegExp("[%--_`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——| {}【】‘’\";:”“'。,、?]");
var rs = '',
sr = '';
for (var i = 0; i < str.length; i++) {
rs = rs + str.substr(i, 1).replace(pattern, '');
}
rs = rs.toLowerCase();
sr = rs.split('').reverse().join('');
// Good luck!
if(rs == sr)
{
return true;
} else{
return false;
}
}
palindrome("eye");
四、Find the Longest Word in a String 查看英文句子中长度最长单词
思路:
1、把句子中的所有单词抽出来
2、逐一进行比较取出最大值
代码如下:
function findLongestWord(str) {
var arr = str.split(' '),
len = 0;
for(var i=0;i<arr.length;i++) { var tLen = arr[i].length; if(tLen > len) {
len = tLen;
}
}
return len;
}
findLongestWord("The quick brown fox jumped over the lazy dog");
五、Title Case a Sentence 把英文句子中所有的单词的首字母大写
思路:
1、把句子全部小写
2、把句子中的所有单词抽出来组成数组
3、把数组所有单词首字母改成大写
4、合并数组成为新的字符串
代码如下:
function titleCase(str) {
str = str.toLowerCase();
var arr = str.split(' ');
for(var i=0;i<arr.length;i++){
var tem = arr[i];
arr[i] = tem.substring(0,1).toUpperCase() + tem.substring(1);
}
return arr.join(' ');
}
六、Return Largest Numbers in Arrays 求所有子数组的最大元素
思路:
1、用空间换时间概念求出所有子数组中的最大值
代码如下:
function largestOfFour(arr) {
var rArr = [];
// You can do this!
for(var i=0;i<arr.length;i++){
var tArr = [];
for(var j=0;j<arr[i].length;j++){
tArr[arr[i][j]] = 1;
}
rArr[i] = tArr.length - 1;
}
return rArr;
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);