合并两个哈希数组

时间:2016-06-07 10:41:11

标签: arrays ruby hashmap

我有两个哈希数组,想从中做一个

first = 
[{:frontman=>"aaa", :category=>"bbb", :subcategory=>nil, :detail=>nil},other hashes]


second = 
[{:__content__=>"aaa", :id=>"9096290", :frontman=>"aaa"},other hashes]

我想要

一大堆哈希

[{:__content__=>"aaa", :id=>"9096290", :frontman=>"aaa", :category=>"bbb", :subcategory=>nil, :detail=>nil},other hashes]

我试过了

(first+second).group_by{|h| h[:frontman]}.map{|k,v| v.reduce(:merge)}

但它对我不起作用

1 个答案:

答案 0 :(得分:6)

您可以这样使用:

first.zip(second).map { |f, s| f.merge(s) }
#=> [{:frontman=>"aaa", :category=>"bbb", :subcategory=>nil, ...}]