如何在 JavaScript 中将数组中每个单词的首字母大写

How to capitalize the first letter of each word in an array in JavaScript?

本文关键字:单词 JavaScript 数组      更新时间:2023-09-26

在过去的几个小时里,我一直在努力理解为什么我的代码不能很好地工作。我的代码不是只大写数组中每个项目的首字母,而是将数组中的所有字母大写。

function titleCase(str) {
str = str.toLowerCase().split(' ');
  for (var i = 0; i < str.length; i++){
    str[i] = str[i].split(' ');
    str[i][0] = str[i][0].toUpperCase(); 
    str[i] = str[i].join(' ');
  }
  return str.join(' ');
}
titleCase("I'm a little tea pot");

如果你想要一个更实用的方式:

const titleCase = str => (
  str.split(' ').map(c => c.slice(0, 1).toUpperCase() + c.slice(1)).join(' ')
);
titleCase("I'm a little tea pot");

尝试:

function titleCase(str)
{
    return str.replace(/'w'S*/g, function(txt) { 
        return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
    });
}