更优雅/更短的方式从哈希数组中获取值?

时间:2012-07-18 05:35:32

标签: ruby

我有:

val = [{uid: '1', ignore: 'i1'}, {:uid: '2', ignore: 'i2'}]

现在我想将:uid部分提取到数组中:

arr = []
val.each { |u| u.map { |k,v| arr << v if :uid == k } }

是否有更优雅/更短的方式来写最后两行?

1 个答案:

答案 0 :(得分:5)

试试这个

val = [{uid: '1', ignore: 'i1'}, {uid: '2', ignore: 'i2'}]

arr = val.map { |u| u[:uid] }