ruby - 如何获得哈希的某些值?
问题描述
在以下嵌套哈希中,
hash = {a: 2, b: 4, c: {name: "John", id: 12, age: 33}}
我想返回哈希值:
{:name => "John", :id => 12, :age => 33}
我想返回一个哈希。我认为下面的代码可以完成这项工作:
hash.select! {|_k, v| v.is_a?(Hash)}
# => {:c => {:name => "John", :id => 12, :age => 33}}
但我得到了两个 k/v 对。我错过了代码上的任何内容吗?我怎样才能达到上面提到的返回值?
解决方案
我会做类似的事情:
hash.values.find(&Hash.method(:===))
#=> {:name=>"John", :id=>12, :age=>33}
推荐阅读
- amazon-web-services - 从 ElasticBeanstalk EC2 连接到 Redis (ElastiCache) 失败
- azure - 删除 Azure 目录失败。我应该删除 App-Registrations,但还有更多剩余
- python-3.x - 过去 15 天内连续 4 天的熊猫
- heroku - 是否可以通过 Heroku API 在免费计划中找到当前使用的小时数?
- javascript - 如何从承诺中获取变量?
- angular - 即使引用绑定到 null 也会发生内存泄漏
- ruby-on-rails - 使用 Savon 和 Nokogiri 在 Rails 中解析 XML SOAP 响应时内存不足
- javascript - 如何使用jQuery获取url中的值
- jquery - 如何将 setTimeout 添加到悬停功能?
- mysql - 当 B 中有匹配项时如何从 A 中选择用户