首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在我的应用中将snake case转换为camelcase

如何在我的应用中将snake case转换为camelcase
EN

Stack Overflow用户
提问于 2016-11-21 07:22:36
回答 13查看 27.4K关注 0票数 20

我的寄宿密码里有个很奇怪的问题

我有像这样的东西

代码语言:javascript
运行
复制
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会变成

代码语言:javascript
运行
复制
data = {
   'id':'123',
   'employeeName': 'John',
   'employeeType': 'new'  
}

在我运行了上面的代码之后,它仍然保持不变,如下所示

代码语言:javascript
运行
复制
data = {
   'id':'123',
   'employee_name': 'John',
   'employee_type': 'new'  
}

这太奇怪了,我不知道哪里出了问题。有人能帮我一下吗?非常感谢!

EN

Stack Overflow用户

发布于 2019-04-29 21:28:52

我真的很喜欢Mardok的嵌套对象版本,唯一的问题是它将"null“转换为{}

下面是我的:

代码语言:javascript
运行
复制
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
}
票数 0
EN
查看全部 13 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40710628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档