У меня есть массив хэшей, подобный этому:
[
{ name: 'Pratha', email: 'c@f.com' },
{ name: 'John', email: 'j@g.com' },
{ name: 'Clark', email: 'x@z.com' },
]
И это массив хэшей второй группы:
[
{ name: 'AnotherNameSameEmail', email: 'c@f.com' },
{ name: 'JohnAnotherName', email: 'j@g.com' },
{ name: 'Mark', email: 'd@o.com' },
]
То, что я хочу, это объединить эти два массива в один, объединить на основе :email
и сохранить последний (или первый) :name
.
Ожидаемый результат (последнее имя переопределено):
[
{ name: 'AnotherNameSameEmail', email: 'c@f.com' },
{ name: 'JohnAnotherName', email: 'j@g.com' },
{ name: 'Mark', email: 'd@o.com' },
{ name: 'Clark', email: 'x@z.com' },
]
или (имя сохранено)
[
{ name: 'Pratha', email: 'c@f.com' },
{ name: 'John', email: 'j@g.com' },
{ name: 'Mark', email: 'd@o.com' },
{ name: 'Clark', email: 'x@z.com' },
]
Так что, в основном, я хочу сгруппировать по :email
, сохранить one :name
, отбросить двойные электронные письма.
Примеры, найденные в SO, создают массив значений для :name
.
Ruby 2.6.3