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

JavaScript实现字符串每隔一位切换大小写的代码运行失败,如何解决?

问题原因
  • JavaScript 中的字符串属于不可变原始值,你无法通过索引直接修改某一位的字符,text[i] = 新值的操作是无效的,不会改变原字符串内容,因此你的函数最终返回的仍然是未修改的入参字符串。
修正方案

你可以先把字符串转为可修改的数组,处理完成后再拼接回字符串返回,修正后的代码如下:

function switchCase(text) {
  // 字符串转数组
  const charArr = text.split('');
  for (let i = 0; i < charArr.length; i++) {
    if (i % 2 !== 0) {
      if (charArr[i] === charArr[i].toLowerCase()) {
        charArr[i] = charArr[i].toUpperCase();
      } else {
        charArr[i] = charArr[i].toLowerCase();
      }
    }
  }
  // 数组拼接回字符串返回
  return charArr.join('');
}

测试结果完全匹配示例要求:

  • 输入'HelloWorld',输出'HElLowoRlD'
  • 输入'abcdefg',输出'aBcDeFg'
  • 输入'TONYmontana',输出'ToNymOnTaNa'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:24:02