Javascript-将字符串中每个单词的首字母大写

时间:2019-07-12 21:25:49

标签: javascript

我正在编写一个用于解决争执的机器人,并使用该项目自学JavaScript。我有一个预定义的字符串设置为message变量,并且我希望此脚本可以将字符串中每个单词的首字母更改为大写,但是到目前为止,该功能仅返回拼写的消息。我不明白为什么

var string = message.substr(message.indexOf(" ")+1);

function capital_letter(str)
        {   
            str=str.split(" ");

            for (var i = 0, x = str.length; i<x, i++;) 
            {
                str[i] =     str[i].charAt(0).toUpperCase() + str[i].substr(1);
            };

        return str.join(" ");};

如果message =“生命之环”,我希望输出为“生命之环”

2 个答案:

答案 0 :(得分:0)

您可以尝试一下。

str.toLowerCase().replace(/\b\w{3,}/g, function (l) {
   return l.charAt(0).toUpperCase() + l.slice(1);
});

答案 1 :(得分:0)

您有一些语法错误,这是captial_letter函数的正确版本:

function capital_letter (str) {
  str = str.split(' ')
  for (var i = 0; i < str.length; i++) {
    const firstChar = str[i].charAt(0)
    str[i] = firstChar.toUpperCase() + str[i].substr(1)
  };

  return str.join(' ')
};

最大的一个方法是使用;而不是,来分隔循环参数:

for (var i = 0; i < str.length; i++) 

p.s。看起来您可能会从更好的IDE中受益:-)