phuwanart
phuwanart

Reputation: 507

How to convert hash in array to array in ruby

I have array that element is hash

a = [{:history_date=>"15/07/10"}, {:open_price=>"7.90"}]

I want to convert to this

h = {:history_date=>"15/07/10", :open_price=>"7.90"}

someone please help me.

Upvotes: 4

Views: 478

Answers (1)

Matchu
Matchu

Reputation: 85794

How about:

h = a.inject(&:merge)

Each hash in the array is merged into the previous hash until we get down to one element. &:merge is shorthand for the following, which may be easier to understand, but is slightly longer:

h = a.inject { |all, element| all.merge(element) }

Upvotes: 6

Related Questions