【问题标题】:How would I break up and extract an array from an array-of-hashes in Ruby on Rails?我将如何分解并从 Ruby on Rails 中的哈希数组中提取数组?
【发布时间】:2011-04-19 05:04:02
【问题描述】:

例如:

[ (id=>1, email=>'tim@tim.com', name=>'tim'),
  (id=>2, email=>'joe@joe.com', name=>'joe'),
  (id=>3, email=>'dan@dan.com', name=>'dan') ]

如何提取电子邮件列并将其放入自己的数组中?

【问题讨论】:

  • 从一个哈希数组开始吗?如果哈希数组只是获取电子邮件地址的中间步骤,那么我会说有一个更直接和优雅的解决方案来解决您的问题。

标签: ruby-on-rails ruby arrays hash


【解决方案1】:

让我们将您的数组称为users。你可以这样做:

users.map{|u| u[:email]}

这会逐一查看哈希值,将它们称为 u,提取 :email 键,并在新的用户电子邮件数组中返回结果。

【讨论】:

  • 你也可以使用 users.collect{|u| u[:email]},collect 是 map 的别名,可能对某些人(没有功能背景的人)来说更容易。
【解决方案2】:
[ {id=>1, email=>'tim@tim.com', name=>'tim'},
  {id=>2, email=>'joe@joe.com', name=>'joe'},
  {id=>3, email=>'dan@dan.com', name=>'dan'} ].map{|h| h['email']}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-06
    • 1970-01-01
    • 2014-04-30
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    相关资源
    最近更新 更多