JavaScript内置函数

这篇文章将介绍几个关于JavaScript内置函数的简单算法

将字符串重复一定次数

使用while循环

1
2
3
4
5
6
7
function repeat(num,str){
var repeatStr = '';
while(num--){
repeatStr+=str;
}
return repeatStr;
}

使用递归

1
2
3
4
5
6
7
8
9
10
function repeatStringNumTimes(str,times){
if(times<0){
return '';
}
if(times===1){
return str;
}else{
return str + repeatStringNumTimes(str,times-1);
}
}

使用es6的repeat

1
2
3
function repeatStringNumTimes(str,times){
return times<0?'':str.repeat(times);
}

检查某一字符串是否已特定字符串结束

利用substr函数

1
2
3
function confirmEnding(str,target){
return str.substr(-target.length)===target? true:false;
}

使用内置函数

1
2
3
function confirmEnding(str,target){
return str.endsWith(target);
}

翻转字符串

使用split(),reverse(),join()

1
2
3
function reverseStr(str){
return str.split('').reserve().join('');
}

使用for循环

1
2
3
4
5
6
7
8
function reverseStr(str){
var newStr = '';
var len = str.length;
for(let i = len-1;i>=0;i--){
newStr+=str[i];
}
return newStr;
}

使用递归

1
2
3
4
5
6
function reverseStr(str){
if(str===''){
return '';
}
return str.charAt(0)+reverseStr(str.substr(1));
}

将一个句子的每个单词首字母大写,其余小写

使用for循环

1
2
3
4
5
6
7
8
function titleCase(str){
var list = str.toLowerCase().split(' ');
var len = list.length;
for(let i = 0 ;i<len;i++){
list[i] = list[i].charAt(0).toUpperCase() + list[i].substr(1);
}
return list.join(' ');
}

使用map方法

1
2
3
4
5
function titleCase(str){
return str.toLowerCase().split(' ').map(function(word){
return word.charAt(0).toUpperCase()+ word.slice(1);
}).join('');
}

使用replace方法

1
2
3
4
5
function titleCase(str){
return str.toLowerCase().split(' ').map(function(word){
return word.replace(word[0],word[0].toUpperCase());
}).join('');
}