我正在编写一个用于解决争执的机器人,并使用该项目自学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 =“生命之环”,我希望输出为“生命之环”
答案 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中受益:-)