合并两个哈希数组

use*_*ser 1 ruby arrays hashmap

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

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


second = 
[{:__content__=>"aaa", :id=>"9096290", :frontman=>"aaa"},other hashes]
Run Code Online (Sandbox Code Playgroud)

我希望有

一大堆哈希

[{:__content__=>"aaa", :id=>"9096290", :frontman=>"aaa", :category=>"bbb", :subcategory=>nil, :detail=>nil},other hashes]
Run Code Online (Sandbox Code Playgroud)

我试过了

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

但它对我不起作用

Ily*_*lya 6

你可以这样使用:

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