场景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
- 按 shift + command + R,进入替换模式
- 选择正则替换
- 输入
_(\w)
替换为 \U$1
- 替换即可
Tips
替换为小写则是:
\L$1