海阔天空的云

我们在自己的世界里独自狂欢

0%

JS入门(8)使一个英文句子中的每个单词的首字母确保是大写的

题目要求:使一个英文句子中的每个单词的首字母确保是大写的

题目中给定的原程序是:

function titleCase(str) {
  return str;
}

titleCase("I'm a little tea pot");

思路是先将这个句子形式的字符串切分成以单词为单位的数组,然后再对每个数组中的元素进行处理。

function titleCase(str) {
  var arr=str.split(" ");
  for(var i=0;i<arr.length;i++)
    
    {
      str1=arr[i];  
      str1=arr[i].toLowerCase();     //先将整个单词的每个字母都统一成小写
     
      str1=str1.replace(/(\w)/,        //使用正则表达式来替换每个单词的首字母
                        function(m){      //正则表达式中的/\w/表示的替换的第一个字母咯。
        return m.toUpperCase();           //替换的第二部分使用一个function意在返回一个大写字母,这个是我现在想 
      });                                  //不到的,看了别人的代码
      arr[i]=str1;
      
    }
  
    /*for end* 到for循环结束的时候其实arr这个数组中的每个元素,也就是每个单词已经是首字母大写了/
  var new=arr.join(" ");      //通过使用join方法将原来的数组合并成一个新的字符串
                            //这里还是要注意join()方法内的引号中有一个空格
  return new;                       //最后就是返回这个字符串的值了。
}

titleCase("I'm a little tea pot");