如何遍历 Ruby 和 return 字符串中特定键的所有值的哈希数组

How to iterate over an array of hashes in Ruby and return all of the values of a specific key in a string

我目前正在尝试遍历哈希数组,return 字符串中“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] }

您尝试使用的代码没有产生任何输出或创建任何对象,并且没有必要使用第二个循环来访问散列的单个元素。