js实现驼峰
实现驼峰命名的几种方法
使用正则表达式和字符串替换
通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。
function toCamelCase(str) {
return str.replace(/[-_](.)/g, (_, char) => char.toUpperCase());
}
示例:
toCamelCase("hello-world"); // "helloWorld"
toCamelCase("hello_world"); // "helloWorld"
拆分字符串后处理
将字符串按分隔符(如下划线或短横线)拆分为数组,然后将后续单词的首字母大写并拼接。
function toCamelCase(str) {
const words = str.split(/[-_]/);
return words[0] + words.slice(1).map(word => word[0].toUpperCase() + word.slice(1)).join('');
}
示例:
toCamelCase("hello-world"); // "helloWorld"
处理首字母大写的场景
如果输入字符串的首字母需要大写(如帕斯卡命名法),可以调整上述方法。
function toPascalCase(str) {
return str.replace(/[-_](.)/g, (_, char) => char.toUpperCase()).replace(/^./, firstChar => firstChar.toUpperCase());
}
示例:
toPascalCase("hello-world"); // "HelloWorld"
处理混合分隔符的情况
如果字符串中同时存在下划线和短横线,正则表达式可以同时匹配这两种分隔符。
function toCamelCase(str) {
return str.replace(/[-_](.)/g, (_, char) => char.toUpperCase());
}
示例:
toCamelCase("hello-world_js"); // "helloWorldJs"
注意事项
- 确保输入为字符串类型,避免非字符串输入导致错误。
- 空字符串或纯分隔符的字符串应返回空字符串。
- 连续分隔符(如
hello--world)可能需特殊处理,取决于需求。







