ruby 将哈希数组转换为数组

x6492ojm  于 2023-02-21  发布在  Ruby
关注(0)|答案(4)|浏览(156)

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

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

我试着查找这个,但只找到了如何从哈希转换。
我该怎么做呢?

iyfamqjs

iyfamqjs1#

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

9ceoxa922#

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

输出

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

sr4lhrrt3#

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"]
xlpyo6sf

xlpyo6sf4#

此问题仅标记为ruby
但我认为值得注意的是,当您碰巧使用Ruby on Rails或在Gemfile中包含activesupport gem时,您可能希望使用Enumerable#pluck

array = [{:code=>"404"}, {:code=>"302"}, {:code=>"200"}]
array.pluck(:code)
#=> ["404", "302", "200"]

相关问题