我很习惯使用连接到rails后端的javascript,大部分时间其中一个必须让其他格式化规则接受,例如ruby的snake_case和javascript的camelCase。
有两种方法可以在这两种格式之间替换字符串,但最好以更直接的方式考虑深入替换哈希中的所有键。
答案 0 :(得分:2)
我在Cofeescript中给出了它为我设计的方法,如果你需要它的javascript版本,你可以在Coffescript site转换它。
class Converter
convertString: (string)->
#Switch to the needed format
string.replace(/(\_[a-z])/g, ($1)-> $1.toUpperCase().replace('_',''))
convertObject: (obj)->
newObj = {}
for k,v of obj
val = if typeof v is "object" and not Array.isArray(v) then @camelizeObject(v) else v
key = @camelizeString(k)
newObj[key] = val
newObj
答案 1 :(得分:0)
如果你不反对使用外部lib,lodash有一个函数:https://lodash.com/docs#snakeCase它还有一堆有用的助手来操作Javascript中的数组/集合/字符串。
例如,使用mapKeys,您可以轻松地将对象的键“转换”为snake_case:
abcd=