var string = "deceMber iS Here"
我尝试了这个但是我收到一个错误,说这不是一个功能。
string.split(" ").toUpperCase()
我希望以这种方式输出"December, Is, Here"
编辑:这个问题不重复。我做了很多搜索,提供的链接不符合我的需要。这是非常具体的问题。
答案 0 :(得分:0)
当你调用string.split(" ")
时,结果是一个由空格分割的子串数组。必须在字符串上调用toUppercase()
,而不是数组。这就是您收到错误的原因,说明toUppercase()
不是函数。
为了把每个分裂子串中的第一个字母大写,我会看到Sehab的建议:How do I make the first letter of a string uppercase in JavaScript?
答案 1 :(得分:0)
使用string.split(" ").toUpperCase()
,您正在做的是将字符串拆分为数组(['deceMber'],['iS'],['Here']
)并尝试toUpperCase()
。数组没有此方法,因此出现错误消息。
您需要遍历此数组中的每个元素,将其设置为小写,然后将第一个字母大写。在此之后,您可以将它们与“,”一起加入。
var string = "deceMber iS Here"
var arr = string.split(" ");
for(var i = 0; i < arr.length; i++){
arr[i] = arr[i].toLowerCase();
arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].slice(1);
}
str = arr.join(', ');
答案 2 :(得分:0)
首先将字符串设为小写,然后用大写字母替换每个单词的第一个字母。
var string = "deceMber iS Here";
console.log(string.toLowerCase().replace(/(^|\s)([a-z])/g, function(m,p1,p2){ return p1+p2.toUpperCase(); }));