将哈希数组转换为数组

时间:2016-10-16 03:48:37

标签: arrays ruby hash

我有一个哈希数组,我需要在新数组中使用哈希值。哈希的阵列看起来像这样,有几千个。

array = [{:code=>"404"}, {:code=>"302"}, {:code=>"200"}]

我试过看一下,但是只发现了如何从哈希转换。

我将如何做到这一点?

3 个答案:

答案 0 :(得分:3)

[{:code=>"404"}, {:code=>"302"}, {:code=>"200"}].flat_map(&:values)
#⇒ ["404", "302", "200"]

答案 1 :(得分:2)

arr =[{:code=>"404"}, {:code=>"302"}, {:code=>"200"}]

arr.map { |h| h[:code] }
  #=> ["404", "302", "200"]

或者,如果密钥的名称(现在:code)将来可能会更改:

arr.map { |h| h.first.last }
  #=> ["404", "302", "200"]

答案 2 :(得分:1)

a=[{:code=>"404"}, {:code=>"302"}, {:code=>"200"}] 
puts a.map{|x|x.values}.flatten.inspect

输出

["404", "302", "200"]