本测验来自freeCodeCamp
测试提示
确保字符串的每个单词首字母都大写,其余部分小写。
像’the’和’of’这样的连接符同理。
当你完成不了挑战的时候,记得开大招’Read-Search-Ask’。
这是一些对你有帮助的资源:
String.split()
测试要求
titleCase(“I’m a little tea pot”) 应该返回一个字符串
titleCase(“I’m a little tea pot”) 应该返回 “I’m A Little Tea Pot”.
titleCase(“sHoRt AnD sToUt”) 应该返回 “Short And Stout”.
titleCase(“HERE IS MY HANDLE HERE IS MY SPOUT”) 应该返回 “Here Is My Handle Here Is My Spout”.
思路分析
1.将字符串句子全部小写,并且用split()方法拆分成数组
var a = str.toLowerCase().split(' ')
2.循环数组,找到每个元素的首字母,并用replace()方法替换成大写
function titleCase(str){
var a = str.toLOwerCase().split(' ');
for(var i = 0;i < a.length;i++){
var char = a[i].charAt(0); //找到首字母
a[i] = a[i].replace(char,function(char){
return char.toUpperCase();
})
}
return a.join(' ');
}
titleCase(“I’m a little tea pot”);
“I’m A Little Tea Pot”
或者不用for循环,直接用数组的map()方法简化一下
function titleCase(str){
var a = str.toLowerCase().split(' ');
var b = a.map(function(val){return val.replace(val.charAt(0),val.charAt(0).toUpperCase())})
}
return b.join(' ');