蛇形命名转驼峰命名:使用map方法时的字符重复问题求助
蛇形命名转驼峰命名函数问题解决
你的代码问题在于处理每个子串时,拼接了整个子串的小写版本,而不是去掉首字符后的剩余部分,导致首字符重复。比如子串go会被处理成G + go → Ggo,最终结果出现冗余的首字符。
修正后的代码
let snakeToCamel = function(string) { const result = string.split("_").map(char => char[0].toUpperCase() + char.slice(1).toLowerCase() ); return result.join(""); }; console.log(snakeToCamel('snakes_go_hiss')); // 'SnakesGoHiss' console.log(snakeToCamel('say_hello_world')); // 'SayHelloWorld'
关键修正点
- 使用
char.slice(1)获取子串除首字符外的剩余部分,彻底避免首字符重复 - 对剩余部分统一转小写,保证后续字符的规范格式
这样处理后,每个子串都会被正确转换为首字母大写、其余字母小写的形式,拼接后得到符合要求的驼峰命名。
内容的提问来源于stack exchange,提问作者Ezequiel Pratissoli
相关产品推荐
相关产品推荐

