要求是:返回一个字符串,确保字符串的每个单词首字母都大写,其余部分小写。
首先是for循环+大小写转换的实现方式
function titleCase(str){
let strArr = str.split(" ");
for(let i=0;i<strArr.length;i++){
strArr[i] = strArr[i].slice(0,1).toUpperCase() + strArr[i].slice(1).toLowerCase();
}
return strArr.join(" ");
}
titleCase("I'm a little tea pot");
其次 是reduce的实现
function titleCase(str) {
return str.toLowerCase().split(/\s+/).reduce(function(prev, item, array, array) {
return prev + (prev.trim() && ' ') + item.slice(0, 1).toUpperCase() + item.slice(1).toLowerCase();
}, '');
}