我可以将转换应用于捕获的组并在ES5中执行替换吗?
我想将虚线名称(例如'foo-bar)转换为camelcase(例如'fooBar')。
function camelify(str) {
return (str.replace(/(\-([^-]{1}))/g, '$2'.toUpperCase()));
}
答案 0 :(得分:1)
'$2'.toUpperCase()
,您传入的第二个参数相当于'$2'
,除了删除破折号之外什么都不做。
您正在寻找callback parameter option in replace
:
function camelify(str) {
return str.replace(/-([^-])/g, function(match, $1) {
return $1.toUpperCase();
});
}