这个问题与这个问题相反.
给定一个散列,每个键都有一个数组
{
[:a, :b, :c] => 1,
[:a, :b, :d] => 2,
[:a, :e] => 3,
[:f] => 4,
}
Run Code Online (Sandbox Code Playgroud)
将它转换为嵌套哈希的最佳方法是什么?
{
:a => {
:b => {:c => 1, :d => 2},
:e => 3,
},
:f => 4,
}
Run Code Online (Sandbox Code Playgroud) 在Ruby 2/Rails 3中有一个简单的方法来转换它:
{a: {b: {"1" => 1, "2" => 2}, d: "Something"}, b: {c: 1}}
Run Code Online (Sandbox Code Playgroud)
进入这个:
{"a.b.1" => 1, "a.b.2" => 2, "a.d" => "Something", "b.c" => 1}
Run Code Online (Sandbox Code Playgroud)
我不是在谈论这个精确的哈希,而是将任何哈希转换为点符号哈希.
我有以下哈希:
{
a: {
b: {
c1: "c1 value",
c2: "c2 value",
c3: {
d: "d value
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何将他转换为下一个结果:
{
"a.b.c1" => "c1 value",
"a.b.c2" => "c2 value",
"a.b.c3.d" => "d value"
}
Run Code Online (Sandbox Code Playgroud)