标题大小写 JavaScript

Kit*_*tty 5 javascript arrays for-loop lowercase charat

我正在尝试创建一个函数,其中在 toLowerCase() 输入之后,将大写数组的每个元素中的第一个字母。

function title_case ( String ) {
    var result = "";
    var text = String.toLowerCase().split(" ");
    for (var i = 0; i < text.length; i++) {
      var c = text[i].charAt(0).toUpperCase();
      result = result + c;
    }
    return result;
  }
Run Code Online (Sandbox Code Playgroud)

输入:

document.write( title_case( "a kitty PUrrs") );
Run Code Online (Sandbox Code Playgroud)

当前代码的结果输出是 AKP。我试图找出一种方法来删除带有 charAt(1) 的小写字符,然后在可能的情况下使用 join() 进行输出。我在正确的轨道上吗?我知道有更简单的方法,但我正在尝试沿着这些方向学习一些东西。

Jon*_*Lam 5

您可以在第一个字符之后创建字符串其余部分的子字符串,而不是删除第一个字符。IE:

result = result + c + text[i].substring(1, text[i].length()-1) + " ";
Run Code Online (Sandbox Code Playgroud)

text[i].substring(1, text[i].length()-1)会从第二个字符单词的一部分的话(有点像“删除”的第一个字符)结束。

而且您不需要join()字符串函数,只+需要连接。将" "在年底分离带空格的话。在函数结束时,您可以返回result.trim()以去掉最后一个空格。