You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeWars Weird Case问题:如何处理空格使单词首字母大写

解决Weird Case问题的空格处理方案

你的代码目前是基于整个字符串的索引来切换大小写,所以遇到空格时,空格后的字符会延续之前的索引计数,导致无法实现空格后单词首字母大写的需求。要解决这个问题,需要按单词分别处理大小写交替逻辑:

修改后的代码

function toWeirdCase(string) {
  // 按空格分割成单词数组
  return string.split(' ').map(word => {
    // 对每个单词单独处理大小写交替
    return word.split('').map((char, index) => {
      return index % 2 === 0 ? char.toUpperCase() : char.toLowerCase();
    }).join('');
  }).join(' '); // 把处理后的单词重新拼接成字符串
}

代码说明

  • split(' '):将原字符串按空格拆分成独立单词,确保每个单词可以单独处理
  • map(word => ...):遍历每个单词,针对单词内部的字符执行大小写转换逻辑
  • 单词内部的map((char, index) => ...):以单词自身的字符索引为基准,偶数索引(0、2、4...)转大写,奇数索引转小写
  • 最后用join(' ')把处理好的单词重新组合成带空格的完整字符串

这样就能满足需求:每个单词的首字母大写,后续字母依次交替大小写,空格不会干扰每个单词的计数逻辑。

内容的提问来源于stack exchange,提问作者Kestone Dennis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 08:54:53