切片哈希在数组中

时间:2013-03-01 19:10:23

标签: ruby-on-rails arrays hash

我有一系列哈希,如:

[{"name"=>"John Doe", "id"=>"1"}, {"name"=>"Jane Doe", "id"=>"2"}]

我想只返回一个id数组。有效的方法是什么?我宁愿避免使用循环。

谢谢。

2 个答案:

答案 0 :(得分:3)

你应该这样做:

your_array.map {|h| h["id"]}

但基本上有一个伪装的循环。

旁注:

想象一下,其中一个哈希值中没有id,那么您就拥有nil。附加compact来解决此问题

答案 1 :(得分:0)

您应该这样做:

your_array.pluck(:id)

这比map (loop)

使用相同的compact删除nil