js基础算法之 字符串首字母全大写Title Case a Sentence

本测验来自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(' ');

你可能感兴趣的:(js基础,js)