JavaScript 将字符串转换为标题案例
在本文中,我们将以每个新单词以大写字母开头的方式将字符串转换为标题案例。
以下是实现此目标的几种方式:
- 使用replace()函数
- 使用for循环
- 使用map()方法
- 使用reduce()方法
- 使用foreach()循环
方法1:使用replace()函数
JavaScript中的replace()方法用于搜索字符串中的某个值或任何表达式,并用参数中提供的新值替换。该方法不会改变原始字符串。
示例: 在此示例中,我们使用了上述方法。
function sentenceCase(str) {
if ((str === null) || (str === ''))
return false;
else
str = str.toString();
return str.replace(/\w\S*/g,
function (txt) {
return txt.charAt(0).toUpperCase() +
txt.substr(1).toLowerCase();
});
}
console.log(sentenceCase('geeks for geeks'));
输出:
Geeks For Geeks
方法2:使用for循环将字符串的首字母大写
在这种方法中,使用JavaScript的For循环遍历函数的参数,并将字符转换为大写。
示例: 在此示例中,我们使用上述方法。
function titleCase(str) {
str = str.toLowerCase().split(' ');
for (let i = 0; i < str.length; i++) {
str[i] = str[i].charAt(0).toUpperCase() + str[i].slice(1);
}
return str.join(' ');
}
console.log(titleCase("geeks for geeks"));
输出:
Geeks For Geeks
方法3:使用map()方法
JavaScript的map()方法通过在父数组中的每个元素调用特定函数来创建一个数组。它是一种非变异方法。通常,map()方法用于遍历数组并在数组的每个元素上调用函数。
示例: 在这个示例中,我们使用了上述解释的方法。
function titleCase(str) {
return str.toLowerCase().split(' ').map(function (word) {
return (word.charAt(0).toUpperCase() + word.slice(1));
}).join(' ');
}
console.log(titleCase("converting string to titlecase"));
输出结果:
Converting String To Titlecase
方法4:使用reduce()方法
JavaScript中的 arr.reduce() 方法用于将数组减少为单个值,并对数组的每个值(从左到右)执行提供的函数,函数的返回值存储在一个累加器中。但是首先我们需要将字符串转换为小写。
示例: 在这个示例中,我们使用了上面解释的方法。
function titleCase(st) {
return st.toLowerCase().split(" ").reduce((s, c) =>
s + "" + (c.charAt(0).toUpperCase() + c.slice(1) + " "), '');
}
console.log(titleCase("converting string to titlecase"));
输出:
Converting String To Titlecase
方法5:使用foreach循环
在这种方法中,使用split方法将字符串拆分为单词数组。然后,foreach循环遍历每个单词。在循环内部,通过将第一个字符转换为大写,其余字符转换为小写来将每个单词大写。
示例: 在这个示例中,我们使用上述方法。
const str = "geeks for geeks";
let titleCase = "";
str.split(" ").forEach(word => {
const capitalizedWord = word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
titleCase += capitalizedWord + " ";
});
console.log(titleCase);
输出结果:
Geeks For Geeks
极客教程