ruby - 在 ruby​​ 中的哈希数组中查找包含键的哈希的最佳方法?

标签 ruby arrays

假设我们有

[{:name=>"Joe", :age => 15},{:name=>"Josh", :age => 83},{:name=>"Jim", :age => 1203}]

获取名称为“Joe”的哈希值的最佳方式是什么?要返回 {:name=>"Joe", :age=>15}?

最佳答案

array.select 将返回一组值(即使只有一个匹配项):

my_array.select { |item| item[:name] == "Joe" }
# => [{:name => "Joe", :age => 15}]

您可以使用 Enumerable 的 find 方法来返回第一个实例(作为散列):

my_array.find { |item| item[:name] == "Joe" }
# => {:name => "Joe", :age => 15}

关于ruby - 在 ruby​​ 中的哈希数组中查找包含键的哈希的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7905834/

相关文章:

ruby - 在 Ruby 中使用 Savon gem 与 SOAP 服务对话

javascript - 用户提示值未存储在数组中

python - 使用 pybind11 将 NumPy 数组转换到自定义 C++ 矩阵类或从自定义 C++ 矩阵类转换

php - 前缀和通过在数组中移动 m 步找到最大收集值

json - 如何在 JSON Schema (Ruby) 中生成所需的 "patternProperty"

ruby - 循环遍历数组的元素

ruby - 加载错误 : cannot load such file -- rspec/core/rake_task

ios - 将 UIImage 像素数据存储到 c 数组中,无法确定数组的元素计数

arrays - 数组上的 Angular 循环在解析 csv 后创建对象数组

ruby - Chef,强制创建后文件不存在