1.驼峰字段名转下横线
/**
* 驼峰式转下横线
*/
function toLowerLine(str) {
return str
.replace(/([A-Z])/g, '_$1')
.replace(/^_/, '')
.toLowerCase()
}
2.转换后端返回的数据
function dataToLowerLine(data) {
if (Object.prototype.toString.call(data) === '[object Array]') {
return data.map((element) => {
return dataToLowerLine(element)
})
} else if (Object.prototype.toString.call(data) === '[object Object]') {
return Object.keys(data).reduce((obj, key) => {
const value = data[key]
obj[toLowerLine(key)] = dataToLowerLine(value)
return obj
}, {})
}
return data
}