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

JavaScript驼峰转空格分隔小写字符串功能代码异常排查

代码问题原因分析
  • 核心错误根源:你循环判断时用的是原输入字符串txt的下标,但插入空格的操作是在新数组arr上执行的。每次往arr中插入1个空格后,arr里插入位置之后的所有字符下标都会比原txt对应字符的下标多1,插入的空格越多,下标偏移量越大。当你要处理第二个及之后的大写字母时,直接用原字符串的下标往arr里插空格,位置就会错位,自然就会出现空格插错位置的异常结果。
  • 冗余代码问题:arr.join('')执行后返回的本身就是字符串类型,后续的toString()属于多余调用,不过这个问题不影响运行结果,仅属于代码冗余。

对应你提供的错误示例可以直观验证:
输入iLikeSwimming时,原字符串中第二个大写字母S在原txt里的下标是5,由于之前已经在arr的下标1位置插入过1个空格,此时S在arr里的实际下标已经变成了6,你还是往arr的下标5位置插入空格,就会把空格插到原本的字符e前面,最终就输出了错误的i lik eswimming结果。
而输入只有1个大写字母的helloWorld时,只需要插入1次空格,不会出现下标偏移累积的问题,所以运行结果正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 10:54:03