Ruby哈希到数组转换

时间:2013-12-05 09:24:19

标签: ruby arrays hash

我有这样的事情:

[#TrajectoryMeasurement depth: 0, move_e: 234>,
#TrajectoryMeasurement depth: 1475, move_e: 123>]

如何将其转换为:

[[0, 234], [1475,123]]

3 个答案:

答案 0 :(得分:1)

如果它是一个对象数组,我怀疑你可以在数组上使用#collect方法:

array = [#TrajectoryMeasurement depth: 0, move_e: 234>,
#TrajectoryMeasurement depth: 1475, move_e: 123>]

array.collect { |x| [x.depth, x.move_e] }
# => [[0, 234], [1475, 123]]

答案 1 :(得分:0)

假设你真的有一个哈希,你只需要调用.to_a来获得你所要求的内容。

  

{a:1,b:1} .to_a    => [[:a,1],[:b,1]]

唉,正如之前所说,它不会看到,你所拥有的是哈希,除非它是一个临时代表。

答案 2 :(得分:0)

根据哈希的结构,您可能还想查看.flatten。