我的寄宿密码里有个很奇怪的问题
我有像这样的东西
data = {
'id':'123',
'employee_name': 'John',
'employee_type': 'new'
}
var newObj = _.mapValues(data, function (value, key) {
var t = _.camelCase(key);
console.log(t) -> shows employeeName and employeeType
return _.camelCase(key);
});我以为我的newObj会变成
data = {
'id':'123',
'employeeName': 'John',
'employeeType': 'new'
}在我运行了上面的代码之后,它仍然保持不变,如下所示
data = {
'id':'123',
'employee_name': 'John',
'employee_type': 'new'
}这太奇怪了,我不知道哪里出了问题。有人能帮我一下吗?非常感谢!
发布于 2019-04-29 21:28:52
我真的很喜欢Mardok的嵌套对象版本,唯一的问题是它将"null“转换为{}
下面是我的:
import _ from 'lodash';
export const toCamelCase: any = (obj: any) => {
let rtn = obj
if (typeof obj === 'object') {
if (obj instanceof Array) {
rtn = obj.map(toCamelCase)
}
else if (_.isEmpty(obj)) {
rtn = null
} else {
rtn = {}
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
const newKey = key.replace(/(_\w)/g, k => k[1].toUpperCase())
rtn[newKey] = toCamelCase(obj[key])
}
}
}
}
return rtn
}https://stackoverflow.com/questions/40710628
复制相似问题