如何在javascript中将蛇壳散列转换为camelcase

如何在javascript中将蛇壳散列转换为camelcase,javascript,ruby-on-rails,formatting,interop,Javascript,Ruby On Rails,Formatting,Interop,我非常习惯于使用连接到rails后端的javascript,大多数情况下,其中一个必须让步以接受其他格式规则,即ruby的snake_case和javascript的camelCase 在这两种格式之间有几种替换字符串的方法,但是最好更深入地考虑哈希中所有键的深度替换。 < P>我给出了它的方法,在COFESEScript中,如果需要JavaScript版本,可以将它转换成.< /P> 如果您不反对使用外部库,那么lodash有一个功能:它还提供了一系列有用的帮助程序,用于在Javascript

我非常习惯于使用连接到rails后端的javascript,大多数情况下,其中一个必须让步以接受其他格式规则,即ruby的snake_case和javascript的camelCase


在这两种格式之间有几种替换字符串的方法,但是最好更深入地考虑哈希中所有键的深度替换。

< P>我给出了它的方法,在COFESEScript中,如果需要JavaScript版本,可以将它转换成.< /P>
如果您不反对使用外部库,那么lodash有一个功能:它还提供了一系列有用的帮助程序,用于在Javascript中操作数组/集合/字符串

例如,使用,可以轻松地将对象的关键帧“转换”为snake_大小写:

var obj = {
    fooBar: 'foo',
    Bar_Foo: 'bar'
}
obj = _.mapKeys(obj, function (value, key) {
    return _.snakeCase(key);
});
console.log(JSON.stringify(obj, null, 4));

/* output:
{
    "foo_bar": "foo",
    "bar_foo": "bar"
}
*/
var obj = {
    fooBar: 'foo',
    Bar_Foo: 'bar'
}
obj = _.mapKeys(obj, function (value, key) {
    return _.snakeCase(key);
});
console.log(JSON.stringify(obj, null, 4));

/* output:
{
    "foo_bar": "foo",
    "bar_foo": "bar"
}
*/