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

前端之家收集整理的这篇文章主要介绍了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.

原文链接:https://www.f2er.com/ruby/266845.html

猜你在找的Ruby相关文章