Ruby 从哈希数组中收集值
我有以下格式的数据结构:Ruby 从哈希数组中收集值,ruby,arrays,hash,collect,Ruby,Arrays,Hash,Collect,我有以下格式的数据结构: data_hash = [ { price: 1, count: 3 }, { price: 2, count: 3 }, { price: 3, count: 3 } ] 有没有一种有效的方法来获取:price的值,像[1,2,3]这样的数组?如果您使用的是ruby
data_hash = [
{ price: 1, count: 3 },
{ price: 2, count: 3 },
{ price: 3, count: 3 }
]
有没有一种有效的方法来获取
:price
的值,像[1,2,3]
这样的数组?如果您使用的是ruby<1.9:
array = [
{:price => 1, :count => 3},
{:price => 2, :count => 3},
{:price => 3, :count => 3}
]
然后,要获得您需要的:
array.map{|x| x[:price]}
您给出的示例不是有效的ruby语法。(没有有效的例子,我们无法帮助您)。另外,如果你能向我们展示你已经尝试过的东西,那会很有帮助。我们需要看看你在解决这个问题上的尝试。如果没有你的代码,看起来你只是要求别人为你写代码,这是一个很好的解决问题的方法。否则,我们可以简单地说,“是的,有一种有效的方法来获取这些值”,然后让您自己去弄清楚。您更喜欢哪一个?可能问题应该交换
{}
和[]
括号(使其成为散列数组)。我只是花了5分钟来寻找一个存在的问题(我真的相信这是一个重复的问题),但我认为答案已经隐藏在更复杂的例子下了god@Rambatino拔毛是一种方法。这是一个一般的ruby问题,“hash”的更新语法是正确的,但在这一点上,data\u hash
是一个用词不当的问题。OP应该使用data\u散列
或data\u数组
,两者中的任何一个都会更好。噢,你是对的。更正。