我将字符串拆分为''并将所有单词存储在strSplit中。使用FORLOOP将每个单词的首字母大写以大写并存储在变量firstLetter中。在变量restLetter中存储了单词的其余部分。然后使用+添加firstLetter和restLetter并将此结果存储在newLetter中。现在我想使用join来取消每个单词的“”形式,使它成为一个字符串,每个单词中的每个首字母大写。但是,如果我在newLetter上应用加入,它就无法正常工作。
function titleCase(str) {
var strSplit = (str.split(' '));
var newLetter = [];
var returnString;
var firstLetter;
var restLetter;
for(i=0; i <=(strSplit.length-1); i++){
firstLetter = strSplit[i].charAt(0).toUpperCase();
for(i=0; i <=(strSplit.length-1); i++){
firstLetter = strSplit[i].charAt(0).toUpperCase();
restLetter = strSplit[i].slice(1, str.Split);
newLetter = firstLetter + restLetter;
newLetter.join(" and ");
}
return newLetter;
}
}
titleCase("I'm a little tea pot");
答案 0 :(得分:2)
您可以轻松地执行此操作:
function titleCase(str) {
return str.split(' ')
.map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
.join(' ')
}
console.log(titleCase("I'm a little tea pot"));
这里我们split
按空格,然后我们通过使用map
使每个单词以大写开头,然后将第一个字符连接到大写,将其余部分连接到小写,然后join
单词array with space。
答案 1 :(得分:0)
我自己用同样的方法找到了解决方案我开始!!这是:
function titleCase(str) {
var strSplit = (str.split(' '));
var newLetter = [];
var firstLetter;
var restLetter;
for(i=0; i <strSplit.length; i++){
firstLetter = strSplit[i].charAt(0).toUpperCase();
restLetter = strSplit[i].slice(1, str.Split).toLowerCase();
newLetter.push(firstLetter + restLetter);
}
return newLetter.join(" ");
}
titleCase("I'm a little tea pot");