我目前正在尝试迭代哈希数组,并返回字符串中“name”键的所有值。这是数组:
foods =
[
{ name: 'Dan Dan Noodles', cuisine: 'Sichuan', heat_level: 8 },
{ name: 'Nashville Hot Chicken', cuisine: 'American', heat_level: 7 },
{ name: 'Panang Curry', cuisine: 'Thai', heat_level: 4 },
]
这就是我目前正在做的事情,我不完全确定为什么它不起作用!
foods.each do |food|
food.each do |k, v|
if food == :name
"#{v}"
end
end
end
提前致谢。
最佳答案
您可以使用 Enumerable#map 来实现此目的:
p foods.map { |f| f[:name] }
您尝试使用的代码没有产生任何输出或创建任何对象,并且没有必要使用第二个循环来访问哈希的单个元素。
关于arrays - 如何在 Ruby 中迭代哈希数组并返回字符串中特定键的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70358446/