首页 > 解决方案 > 将句子中每个单词的首字母大写的函数

问题描述

我创建了一个函数,它从一个字符串创建一个数组,然后将每个单词的第一个字母大写,但是我试图用一个 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('-')

  })
}

标签: javascriptarrayssplit

解决方案


尝试类似:

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);


推荐阅读