JavaScript如何拼接大写首字母与单词剩余字符
单词首字母大写的拼接实现方案
你已经完成了字符串拆分、首字母提取、首字母转大写的步骤,剩下的拼接环节核心是拿到每个单词去掉首字母的剩余部分,直接和大写首字母组合即可。
按你现有代码逻辑补全的版本
你当前已经生成了存储所有大写首字母的capitalLetter数组,每个单词的剩余部分可以通过slice(1)方法获取——该方法会返回字符串从索引1到末尾的全部字符,刚好是去掉首字母的单词内容。遍历大写首字母数组,按索引匹配对应单词的剩余部分拼接,最后把处理完的单词用空格拼接成完整字符串即可:
let a="i am using stack overflow and it is great"; function makeCapital(){ const words=a.split(" "); console.log(words); const firstLetter = words.map(letter=>letter.charAt(0)); console.log(firstLetter); const capitalLetter=firstLetter.map(capital=>capital.toUpperCase()); console.log(capitalLetter); // 补全拼接逻辑 const resultWords = capitalLetter.map((cap, idx) => { return cap + words[idx].slice(1); }); // 拼接为最终字符串返回 return resultWords.join(" "); } console.log(makeCapital()); // 输出结果:I Am Using Stack Overflow And It Is Great
简化优化写法
不需要单独拆分三次遍历生成中间数组,一次遍历就能完成所有处理,代码更简洁:
let a="i am using stack overflow and it is great"; function makeCapital(){ return a .split(" ") .map(word => word[0].toUpperCase() + word.slice(1)) .join(" "); }
边界场景适配注意点
- 如果待处理的字符串存在首尾空格、连续多个空格的情况,直接用
split(" ")会生成空字符串元素导致结果异常,可以先调用trim()去除首尾空格,再用split(/\s+/)按任意长度的空白字符拆分单词。
内容的提问来源于stack exchange,提问作者Nerdy19
相关产品推荐
相关产品推荐

