我有一个这样的哈希数组。考虑单个哈希键值合并哈希阵列
[
{"package_details"=>{"name"=>"Package3", "price"=>3000.0, "id"=>"281"},"event_id"=>336},
{"package_details"=>{"name"=>"2000/-", "price"=>2000.0, "id"=>"280"}, "event_id"=>337},
{"package_details"=>{"name"=>"Package1", "price"=>1000.0, "id"=>"282"},"event_id"=>337},
{"package_details"=>{"name"=>"Package2", "price"=>2000.0, "id"=>"283"},"event_id"=>337}
]
我想这是这样的。
[
{"event_id"=>336, "package_details"=>[
{"name"=>"Package3", "price"=>3000.0, "id"=>"281"}
]},
{"event_id"=>337, "package_details"=>[
{"name"=>"2000/-", "price"=>2000.0, "id"=>"280"},
{"name"=>"Package1", "price"=>1000.0, "id"=>"282"},
{"name"=>"Package2", "price"=>2000.0, "id"=>"283"}
]},
]
哈希应根据平等event_id
值合并有事件可以有很多包。
我想知道最简单的方法来做到这一点。虽然我能够处理很多if和else。
-1没有像你说的那样的数据结构,也不可能创建你想要的东西。您仅使用表示哈希文字的'{',但似乎您拥有数组和散列组合。请修改您的问题以显示您拥有的实际数据。 (提示:'p my_data'将打印'.inspect'结果。) – Phrogz 2013-03-24 15:55:57
我已经编辑了你的问题,并且我相信你实际拥有的数据结构(哈希数组),并将你想要的结构改变为有意义的结构散列数组,其中每个键中的一个键引用散列数组)。 – Phrogz 2013-03-24 16:16:26
你有错误的外部散列语法。也许你需要将外部散列更改为数组? – 2013-03-24 08:53:27