javascript - 如何将字符串中每个单词的首字母大写?
问题描述
以下函数应将句子中每个单词的首字母大写(str)!不幸的是,它不起作用,我找不到解决方案!
function titleCase(str) {
let arr = str.toLowerCase().split(" ");
for (let i = 0; i < arr.length; i++) {
arr[i].charAt(0).toUpperCase();
}
return arr.join(" ");
}
console.log(titleCase("I'm a little tea pot"));
解决方案
您需要分配大写字母的结果,并将其连接到单词的其余部分:
function titleCase(str) {
let arr = str.toLowerCase().split(" ");
for (let i = 0; i < arr.length; i++) {
arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].substring(1);
}
return arr.join(" ");
}
console.log(titleCase("I'm a little tea pot"));
它也更容易使用map
:
function titleCase(str) {
return str.split(" ").map(s => s.charAt(0).toUpperCase() + s.substring(1)).join(" ");
}
console.log(titleCase("I'm a little tea pot"));