У меня есть массив хэшей, подобных этому.Объединить массив хэшей с учетом одного значения ключа хэша
[
{"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"}
]},
]
Hash должны слиться в соответствии с равными event_id
значений и там событие может иметь много пакетов.
Я хочу знать самый простой способ сделать это. Хотя я был в состоянии сделать со многими, если и еще.
-1 Структура данных не похожа на то, что вы говорите, и у вас нет возможности создавать то, что вы хотите. Вы используете только '{', который обозначает литерал Hash, но кажется, что у вас есть комбинации массивов и хэшей. Измените свой вопрос, чтобы показать фактические данные. (Подсказка: 'p my_data' напечатает результат' .inspect'.) – Phrogz
Я отредактировал ваш вопрос с структурой данных, я полагаю, что у вас есть (массив хэшей), и изменил вашу желаемую структуру на то, что имеет смысл (массив хэшей, где один из ключей в каждом ссылается на массив хэшей). – Phrogz
У вас неправильный внешний синтаксис хэша. Может быть, вам нужно изменить внешний хэш на массив? –