当前位置: 首页 > 知识库问答 >
问题:

如何使用JavaScript将字符串中每个单词的第一个字母大写?

拓拔泓
2023-03-14

我试图编写一个函数,将字符串中每个单词的第一个字母大写(将字符串转换为标题大小写)。

例如,当输入是"I'm a Little Tea pot"时,我希望"I'm A Little Tea Pot"是输出。然而,该函数返回"i'm a小茶壶"

这是我的代码:

function titleCase(str) {
  var splitStr = str.toLowerCase().split(" ");

  for (var i = 0; i < splitStr.length; i++) {
    if (splitStr.length[i] < splitStr.length) {
      splitStr[i].charAt(0).toUpperCase();
    }

    str = splitStr.join(" ");
  }

  return str;
}

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

共有3个答案

柯树
2023-03-14

ECMAScript 6版本:

const toTitleCase = (phrase) => {
  return phrase
    .toLowerCase()
    .split(' ')
    .map(word => word.charAt(0).toUpperCase() + word.slice(1))
    .join(' ');
};

let result = toTitleCase('maRy hAd a lIttLe LaMb');
console.log(result);
盖辉
2023-03-14

你把复杂变成了一件很容易的事情。您可以在CSS中添加以下内容:

.capitalize {
    text-transform: capitalize;
}

在JavaScript中,可以将类添加到元素中

 document.getElementById("element").className = "capitalize";
华欣荣
2023-03-14

您没有再次将更改分配给阵列,因此您的所有努力都是徒劳的。试试这个:

function titleCase(str) {
   var splitStr = str.toLowerCase().split(' ');
   for (var i = 0; i < splitStr.length; i++) {
       // You do not need to check if i is larger than splitStr length, as your for does that for you
       // Assign it back to the array
       splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);     
   }
   // Directly return the joined string
   return splitStr.join(' '); 
}

document.write(titleCase("I'm a little tea pot"));
 类似资料:
  • 我有一个函数,应该把字符串中每个单词的第一个字母大写,但不知何故,它提供了不正确的结果,知道为什么吗?我需要修理一下。 所以输入:hello dolly输出:hello dolly。 空格计算正确,但大写不正确。

  • 问题内容: Java中是否内置了一个函数,该函数可以大写字符串中每个单词的第一个字符,而不会影响其他单词? 例子: jon skeet -> Jon Skeet miles o’Brien-> Miles O’Brien(B仍然是大写字母,这排除了标题大小写) old mcdonald-> Old Mcdonald* (Old McDonald也可以找到,但我不认为它会那么聪明。) 快速浏览一下J

  • 问题内容: 在中,有没有一种方法可以获取字符串中每个单词的第一个字母?例如: 姓名: 迈克尔·约瑟夫·杰克逊 询问: 结果: MJJ 问题答案: 此函数将针对源字符串中的多个连续空格屏蔽您的结果: 结果:

  • 问题内容: 我有一个字符串:“ hello good old world”,我想将每个单词的每个首字母大写,而不是使用.toUpperCase()整个字符串。是否有现成的java助手可以完成这项工作? 问题答案: 看看ACL WordUtils。

  • 我必须定义一个包含大写方法的Translator类。该方法将收到一个StringBuffer,它只包含英文字母和空格,并将更改它,以便每个单词都以大写字母开头。 //我需要定义的类