Basic Algorithm Scripting: Title Case a Sentence | freeCodeCamp.org
我的,没有完成要求
function titleCase(str) {
let newStrArr = []
for (let i = 0; i < str.split(' ').length; i++) {
newStrArr.push(
str.split(' ')[i][0].toUpperCase() +
str.split(' ')[i].slice(1).toLowerCase(),
)
}
return newStrArr.join(' ')
}
console.log(titleCase("I'm a little tea pot"))
加了 .toLowerCase()
可以了。
这样写有些繁琐。
for…in
function titleCase(str) {
const newTitle = str.split(' ')
const updatedTitle = []
for (let st in newTitle) {
updatedTitle[st] =
newTitle[st][0].toUpperCase() + newTitle[st].slice(1).toLowerCase()
}
return updatedTitle.join(' ')
}
map()
function titleCase(str) {
return str
.toLowerCase()
.split(' ')
.map((val) => val.replace(val.charAt(0), val.charAt(0).toUpperCase()))
.join(' ')
}
titleCase("I'm a little tea pot")
正则表达式
function titleCase(str) {
return str.toLowerCase().replace(/(^|\s)\S/g, (L) => L.toUpperCase())
}