我正在尝试制作一个 javascript 程序,它接受一个字符串并将每个单词的第一个字母大写,并使所有其他字符小写。
function titleCase(str) {
str = str.toLowerCase();
var array = str.split(" ");
for(var i =0; i< array.length ; i++){
array[i][0] = array[i].charAt(0).toUpperCase();
}
var finalString = array.join(" ")
return finalString ;
}
console.log(titleCase("I'm a little tea pot"));Run Code Online (Sandbox Code Playgroud)
由于某种原因array[i].charAt(0).toUpperCase();不会将其值传递给array[i][0]. 这最终使它返回仅包含小写字母的字符串,而不是每个单词的第一个字母都大写。
听起来你想做更多类似这样的事情:
function titleCase(str) {
str = str.toLowerCase();
var array = str.split(" ");
for(var i =0; i< array.length ; i++){
//array[i] is an immutable string. So we need to rebuild it instead.
array[i] = array[i].charAt(0).toUpperCase() + array[i].substring(1);
}
var finalString = array.join(" ")
return finalString;
}
titleCase("I'm a little tea pot");
Run Code Online (Sandbox Code Playgroud)
可以使用括号表示法将字符串读取为字符数组。但是,您不能以这种方式更改特定字符,因为字符串不是可变对象。
| 归档时间: |
|
| 查看次数: |
3343 次 |
| 最近记录: |