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

如何用JS实现字符串每隔一个单词转为大写的功能?

问题分析

你原有代码的问题如下:

  • 没有将输入字符串拆分为独立单词处理,直接对整个字符串执行大写转换
  • 循环逻辑完全无效,第一次迭代就直接返回结果,没有执行任何遍历处理
  • 没有按照「隔一个单词大写、单个单词全大写」的规则做区分判断
修正后的实现代码
function capitalize(str) {
  // 按空格拆分字符串为单词数组,兼容多空格分隔场景
  const words = str.trim().split(/\s+/);
  // 单个单词直接转大写返回
  if (words.length === 1) {
    return words[0].toUpperCase();
  }
  // 遍历处理每个单词:索引从0开始计数,奇数位单词转大写,偶数位保持原样
  const processedWords = words.map((word, index) => {
    return index % 2 === 1 ? word.toUpperCase() : word;
  });
  // 拼接为空格分隔的字符串返回
  return processedWords.join(' ');
}
效果验证
  • 输入 capitalize("asd asd asd asd"),输出 asd ASD asd ASD,符合预期
  • 输入 capitalize("asd"),输出 ASD,符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:15:03