Итак, у меня есть эта карта
map = [
%{id: 2, brand: "TUTU", reference: "1234"},
%{id: 2, brand: "TUTU", reference: "4567"},
%{id: 3, brand: "TOTO", reference: "789456"}
]
И я бы хотел сгруппировать его по идентификатору, чтобы получить что-то вроде этого:
[
%{
id: 2,
brand: "TUTU",
reference: [
"1234",
"5845"
]
},
%{
id: 3,
brand: "TOTO",
reference: [
"4587"
]
}
]
Я пытался использовать Enum.group_by
вот так
map
|> Enum.group_by(fn entry -> entry.brand end)
Но результат выглядел так:
%{
"TOTO" => [%{brand: "TOTO", id: 3, reference: "789456"}],
"TUTU" => [
%{brand: "TUTU", id: 2, reference: "1234"},
%{brand: "TUTU", id: 2, reference: "4567"}
]
}
Мне кажется, что я близок к решению, но я не знаю, как я могу перегруппировать свою информацию в списки вместо того, чтобы использовать ключи в качестве индексов ....
Извините, я не очень ясно, я просто не знаю, как описать мою проблему