javascript - 将句子中每个单词的首字母大写的函数
问题描述
我创建了一个函数,它从一个字符串创建一个数组,然后将每个单词的第一个字母大写,但是我试图用一个 join() 函数来创建它的字符串,但它不起作用。所以问题在于 join() 方法不起作用,因此它不会将数组转换为字符串
function titleCase(string) {
const arr = string.split(' ')
return arr.map(item => {
const newArray = item.charAt(0).toUpperCase() + item.slice(1)
return newArray.join('-')
})
}
解决方案
尝试类似:
function ucFirst(string){
return string.slice(0, 1).toUpperCase()+string.slice(1);
}
function ucFirstSentence(sentences){
const all = sentences.match(/.+?(\.|\!|\?)(\s+|$)/g);
for(let i=0,l=all.length; i<l; i++){
all[i] = ucFirst(all[i].trim());
}
return all.join(' ');
}
let uc = ucFirstSentence("this is just a test. i'm not really sure if it works, a.b. quite yet. i guess we'll see if this suits your needs!");
console.log(uc);
推荐阅读
- arrays - 多维计算数组与正方形交集体积的无案例方法
- codeigniter - Codeigniter 项目无法在本地主机上运行
- python - Pandas 中的函数不会减少
- unix - Unix查找哪个文件包含二进制片段
- php - 在 linux 服务器上使用 php 上传文件不起作用
- excel - 尝试计算所得税时,我的税率 VBA 代码指出溢出错误
- python - 如何反转多个列表?
- javascript - 在 jquery 中将逗号添加到像 123,456.78 这样的数字的最佳方法
- cordova-plugins - Ionic 4 闪屏未隐藏在生产模式中
- javascript - 可复用函数JS