我有一系列哈希,如:
[{"name"=>"John Doe", "id"=>"1"}, {"name"=>"Jane Doe", "id"=>"2"}]
我想只返回一个id数组。有效的方法是什么?我宁愿避免使用循环。
谢谢。
答案 0 :(得分:3)
你应该这样做:
your_array.map {|h| h["id"]}
但基本上有一个伪装的循环。
旁注:
想象一下,其中一个哈希值中没有id
,那么您就拥有nil
。附加compact
来解决此问题
答案 1 :(得分:0)
您应该这样做:
your_array.pluck(:id)
这比map (loop)
使用相同的compact
删除nil