驼峰转下划线
**应用场景:**有时候传给后端的参数是驼峰命名,回显的时候是下划线,这个时候就需要修改key值
var obj2 = {
msg: 'success',
inLi: [
{
name: 'hh',
cardList: [
{
bigName: 'hxx',
liCxx: 21,
xxxYzz: 20
},
{
bigName: 'hxx',
liCxx: 21,
xxxYzz: 20
}
],
},
{
name: 'hh',
xxxYzz: 20
}
]
};
function hump (obj){
for(let key in obj){
if(obj[key] instanceof Object && !(obj[key] instanceof Array)){
obj[key] = hump(obj[key])
}
if(obj[key] instanceof Array){
obj[key] = obj[key].map(item =>{
if(item instanceof Object){
item = hump(item)
}
return item
})
}
let str = ''
if(key.match(/[A-Z]/)) {
str = key.replace(/([A-Z])/g, "_$1").toLowerCase()
obj[str] = obj[key]
delete obj[key]
}
}
return obj
}
console.log(hump(obj2))
下划线转驼峰
const lineToHump = (name = '') => {
return name.replace(/\_(\w)/g, (all, letter) => {
return letter.toUpperCase();
})
}
console.log(lineToHump('a1_b2_c3_d4_f5'));
//a1B2C3D4F5