ruby – 有一个干净的方法来访问哈希数组中的哈希值吗?

在这代码中:
arr = [ { id: 1,body: 'foo'},{ id: 2,body: 'bar' },{ id: 3,body: 'foobar' }]
arr.map { |h| h[:id] } # => [1,2,3]

有没有更清楚的方法来从这样的散列数组中获取值?

Underscore.js has pluck,我想知道是否有一个Ruby等价物.

解决方法

如果你不介意猴子修补,你可以自己去采摘:
arr = [{ id: 1,body: 'foobar' }]

class Array
  def pluck(key)
    map { |h| h[key] }
  end
end

arr.pluck(:id)
=> [1,3]
arr.pluck(:body)
=> ["foo","bar","foobar"]

而且,它看起来像someone has already generalised this for Enumerables,还有别人for a more general solution.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...