从散列数组中收集值

Ker*_*ert 53 ruby arrays hash collect

我有以下格式的数据结构:

data_hash = [
    { price: 1, count: 3 },
    { price: 2, count: 3 },
    { price: 3, count: 3 }
  ]
Run Code Online (Sandbox Code Playgroud)

有没有一种有效的方法来获得:price像数组一样的值[1,2,3]

Zab*_*bba 105

首先,如果你使用ruby <1.9:

array = [
    {:price => 1, :count => 3},
    {:price => 2, :count => 3},
    {:price => 3, :count => 3}
]
Run Code Online (Sandbox Code Playgroud)

然后得到你需要的东西:

array.map{|x| x[:price]}
Run Code Online (Sandbox Code Playgroud)

  • "哈希"的更新语法是正确的,但在那时`data_hash`是用词不当.OP应该使用`data_hashes`或`data_array`,其中任何一个都会更好. (3认同)