如何将下划线格式与驼峰格式互换

场景1

现有一个需求,要将返回值中所有涉及到下划线风格的数据全部转化为驼峰风格,如:

1
2
3
4
5
6
{
"records_total": 200,
"data": {
"indexId": 2
}
}

更改为:

1
2
3
4
5
6
{
"recordsTotal": 200,
"data": {
"indexId": 2
}
}

然而此时我们程序中已经使用了大量的返回值变量, 那可以对返回值进行处理,将下划线变为驼峰,如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
request(api.infoTypeSearch).subscribe(res => {
const newData = res.data.map((item: any) => {
let newObj:{[string]: any} = {}
Object.keys(item).forEach(key => {
newObj[this.toHump(key)] = item[key]
})

return newObj
})
})

...
...
toHump (name: string): string {
return name.replace(/\_(\w)/g, function(all, letter){
return letter.toUpperCase();
});
}

场景二

好家伙!文件中使用了大量不规范的下划线命名,如何一步将其全变为驼峰?

借助 IDE 的正则替换功能(如果你的编辑器没有这个功能, 那你就复制出来用 string 操作吧)

Webstorm

  1. 按 shift + command + R,进入替换模式
  2. 选择正则替换
  3. 输入 _(\w) 替换为 \U$1
  4. 替换即可

Tips

替换为小写则是:

\L$1