1

我有一个哈希数组

var = 
[
{#<InstanceFoo>=>{Date1=>Value1}}, 
{#<InstanceBar>=>{Date2=>Value2}},
{#<InstanceBaz>=>{Date3=>Value3}}
]

我想将其简化为哈希:

{
#<InstanceFoo>=>{Date1=>Value1}, 
#<InstanceBar>=>{Date2=>Value2},
#<InstanceBaz>=>{Date3=>Value3}
}

我过去通过以下方式实现了这一目标:

var.reduce({}, :merge)

我刚刚注意到一个问题,但是,var实际上看起来像这样:

var = 
[
{#<InstanceFoo>=>{Date1=>nil}}, 
{#<InstanceFoo>=>{Date2=>Value2}},
{#<InstanceFoo>=>{Date3=>Value3}}
]

结果reduce如下:

var = 
{
  #<InstanceFoo>=>{Date1=>nil}
}

我想返回:

var = 
{
  #<InstanceFoo>=>{Date1=>nil, Date2=>Value2, Date3=>Value3}
}

我想这是递归(或深度)合并?有任何想法吗?

谢谢

4

1 回答 1

2

尝试:

var.reduce({}, :deep_merge)
于 2013-02-12T12:43:09.783 回答