You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何遍历哈希数组,逐个获取并打印嵌套数组hobbies的值?

如何遍历哈希数组并只打印指定键"hobbies"的值

你当前的代码会遍历每个哈希里的所有键值对,打印出所有value,但其实完全不需要遍历整个哈希——直接定位到"hobbies"这个键就能拿到你要的值。

方案1:直接打印每个人的爱好列表

如果只是想输出每个人的完整爱好数组,用这段代码就行:

people.each do |person|
  p person["hobbies"]
end

运行后输出:

["basketball", "chess", "phone tag"]
["programming", "reading", "jogging"]
["cricket", "baking", "stamp collecting"]

方案2:逐个打印每个爱好

要是你想把每个爱好单独打印出来,可以再加一层遍历:

people.each do |person|
  person["hobbies"].each do |hobby|
    p hobby
  end
end

运行后输出:

"basketball"
"chess"
"phone tag"
"programming"
"reading"
"jogging"
"cricket"
"baking"
"stamp collecting"

原代码的问题在于多了inner.each { |key, value| ... }这一步,这会遍历哈希里的所有键(包括first_name、last_name),完全没必要,直接通过键名取值就够了。

内容的提问来源于stack exchange,提问作者lucy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 18:56:13