Javascript 将每个字符串的第一个字母大写
我一直试图将字符串中每个单词的第一个字母大写,但它显示Javascript 将每个字符串的第一个字母大写,javascript,Javascript,我一直试图将字符串中每个单词的第一个字母大写,但它显示TypeError:无法分配给字符串“I”的只读属性“0”。我的逻辑看起来不错,但我这样做肯定不对。任何建议 功能滴定酶(str){ str=str.toLowerCase(); var word=str.split(“”); //console.log(word[0][0]); for(var i=0;i{m=m+“”+o;返回m},“”) 控制台日志(res)您可以使用map函数创建一个修改过的单词数组,并使用join重新创建字符串
TypeError:无法分配给字符串“I”的只读属性“0”
。我的逻辑看起来不错,但我这样做肯定不对。任何建议
功能滴定酶(str){
str=str.toLowerCase();
var word=str.split(“”);
//console.log(word[0][0]);
for(var i=0;i titleCase(“我是一个小茶壶”)代码>通过内置的数组函数,您可以直接将字符串转换为所需内容。
使用map函数,您将直接获得它,无需运行for循环
("I'm a little tea pot")
.split(" ")
.map(function(d){
return d[0].toUpperCase()+d.substring(1,d.length)
}).join(" ")
尝试这样做:(参见代码中的注释)
功能滴定酶(str){
str=str.toLowerCase();
var word=str.split(“”);
对于(var i=0;i titleCase(“我是一个小茶壶”)
您可以组合拆分
和映射
功能来实现这一点
功能滴定酶(str){
返回str.toLowerCase().split(“”).map(函数(word){
var_word=word.split(“”);
_word[0]=\u word[0]。toUpperCase();
返回_word.join(“”);
}).加入(“”);
}
log(titleCase(“我是一个小茶壶”)代码>带有拆分、数组映射和缩减:
var str=“我是一个小茶壶”;
var res=str.split(“”)
.map(word=>word.charAt(0.toUpperCase()+word.substr(1))
.reduce((m,o)=>{m=m+“”+o;返回m},“”)
控制台日志(res)
您可以使用map
函数创建一个修改过的单词数组,并使用join
重新创建字符串
功能滴定酶(str){
str=str.toLowerCase();
var word=str.split(“”);
var x=word.map(函数(项){
返回item.charAt(0.toUpperCase()+item.substring(1,item.length);
}).加入(“”);
返回x
}
log(titleCase(“我是一个小茶壶”)代码>字符串具有接受函数的替换方法:
var s='foo-bar-fum我是斯巴蒂克斯23!!';
log(s.replace(/\b\w/g,函数{返回s.toUpperCase()}))
如果您不是按字符付费,请尝试s.replace(/\b\w/g,s=>s.toUpperCase())
。slice(1)的作用是什么?@AhsanAlii在这种情况下,它将删除第一个字母(小写字母),该字母与大写字母一起添加。