标题大小写 JavaScript

Title Case JavaScript

我正在尝试创建一个函数,在输入 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;
  }

输入:

document.write( title_case( "a kitty PUrrs") );

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

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

result = result + c + text[i].substring(1, text[i].length()-1) + " ";

text[i].substring(1, text[i].length()-1) 获取单词从第二个字符到单词末尾的部分(有点像 "deleting" 第一个字符)。

而且您不需要 join() 字符串函数,只需 + 连接即可。最后的 " " 用 space 分隔单词。在函数的最后,可以returnresult.trim()去掉最后的space.

使用以下函数将句子或首字母大写。

console.log(capitalizeFirstLetter("THIS IS A SENTENCE")); //converts a sentence to capitalise. 

console.log(titleCase("THIS IS A SENTENCE")); //converts a sentence to titlecase. 

function capitalizeFirstLetter(string) {
    return string[0].toUpperCase() + string.slice(1).toLowerCase();
}

function titleCase(string) {
    return string.split(" ").map(x => capitalizeFirstLetter(x)).join(" ");
}