我想将函数中的所有其他单词更改为大写字母。如果只有 1 个单词 - 则也要大写。
例子:
asd asd asd asd -> asd ASD asd ASD
asd -> ASD
Run Code Online (Sandbox Code Playgroud)
这就是我所拥有的:
function capitalize(str) {
let word = str.toUpperCase();
for (let i = 0; i < str.length; i++) return word;
}
console.log(capitalize("asd asd asd asd"));Run Code Online (Sandbox Code Playgroud)
使用map()
function capitalize(str) {
return str
.split(' ')
.map((s, i, arr) => (arr.length == 1 || i % 2) ? s.toUpperCase() : s)
.join(' ')
}
console.log(capitalize("asd asd asd asd"));
console.log(capitalize("asd"));Run Code Online (Sandbox Code Playgroud)
使用正则表达式和replace()
https://regex101.com/r/wdR9zt/1
function capitalize(str) {
return str.replace(/(\S+\s+)?(\S+\s*)/g, (m, p1 = '', p2) => p1 + p2.toUpperCase())
}
console.log(capitalize("asd asd asd asd"));
console.log(capitalize("asd"));Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
228 次 |
| 最近记录: |