Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 从哈希数组中收集值_Ruby_Arrays_Hash_Collect - Fatal编程技术网

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数组
,两者中的任何一个都会更好。噢,你是对的。更正。