要在 JavaScript 中将字符串中每个单词的首字母大写,我们可以:
使用 .split('') 将字符串拆分为单词数组。
使用 .map() 遍历单词数组。
对于每个单词,返回一个新单词,该单词是单词的第一个字母的大写形式添加到单词的其余部分。
使用 .join(' ') 将单词数组连接成一个字符串。
例如:index.js
function capitalizeWords(str) {
return str
.toLowerCase()
.split(' ')
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
.join(' ');
}
// Welcome To Coding Beauty
console.log(capitalizeWords('WELCOME to coding beauty'));
// JavaScript And TypeScript
console.log(capitalizeWords('JAVASCRIPT AND TYPESCRIPT'));
我们的 capitalizeWords() 函数接受一个字符串并返回一个所有单词都大写的新字符串。
首先,我们使用 toLowerCase() 方法将整个字符串小写,确保只有每个单词的首字母大写。
// welcome to coding beauty
console.log('WELCOME to coding beauty'.toLowerCase());
提示:如果每个单词中的其余字母不需要小写,您可以删除对 toLowerCase() 方法的调用。
然后,我们在字符串上调用 String split() 方法将所有单词拆分到一个数组中。
// [ 'welcome', 'to', 'coding', 'beauty' ]
console.log('welcome to coding beauty'.split(' '));
创建数组后,我们调用它的 map() 方法,将回调函数作为参数。 将调用此函数并为数组中的每个单词返回一个结果。
在函数中,我们使用 charAt() 获取单词的第一个字符,使用 toUpperCase() 将其转换为大写,并将其与字符串的其余部分连接起来。
我们使用 String slice() 方法来获取字符串的剩余部分。 将 1 传递给 slice() 使其返回字符串中从第二个(索引为 1)字符到末尾的部分。
// [ 'Welcome', 'To', 'Coding', 'Beauty' ]
console.log(
'welcome to coding beauty'
.split(' ')
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
);
所以 map() 返回一个包含字符串中所有单词的数组,每个单词的第一个字母大写。
最后,我们使用 Array join() 方法将所有单词连接到一个字符串中。
将空格 (' ') 传递给 join() 会在结果字符串中用空格分隔单词。
// Welcome To Coding Beauty
console.log(['Welcome', 'To', 'Coding', 'Beauty'].join(' '));