将字符串中的每个第一个字符转换为大写

Transformation of each first character in a string to uppercase

我找到了 的解决方案,使字符串的每个首字母都大写。但对我来说,这不是最容易理解的版本。有没有更简单的方法来重写它?

让我试着为您解释一下代码。

function titleCase(str) {
   var splitStr = str.toLowerCase().split(' ');
   for (var i = 0; i < splitStr.length; i++) {
       splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);     
   }
   return splitStr.join(' '); 
}

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

假设我们有句子 "javascript is cool" 并且我们想要将其大写。

所以我们首先声明变量 splitStr。这是句子中每个单词的数组。这个数组是由"splitting"字符串得到的spaces。因此,在我们的例子中,splitStr 是 ["javascript"、"is"、"cool"]。

现在,我们进入循环遍历 splitStr 中每个元素的 for 循环。对于 splitStr 中的每个元素,循环将该元素替换为一个单词,该单词通过连接数组中相应单词的大写首字母,后跟该单词的其余部分而形成。例如:

javascript = J + JavaScript = Javascript

数组中的每个单词都会发生这种情况。最后,数组现在包含:["Javascript"、"Is"、"Cool"].

在每一端,我们将数组连接在一起,用 space 分隔每个元素,结果是字符串 "Javascript Is Cool".