【发布时间】:2019-10-22 12:18:16
【问题描述】:
简单的问题,我有这两张地图
[{"Africa", 1}, {"America", 2}, {"Europe", 3}]
[{"Congo", 1, 1}, {"France", 2, 3}, {"Spain", 3, 3}, {"USA", 4, 2}, {"Egypt", 5, 1}]
我想使用 Enum.map 和 Enum.filter 得到以下结果
[
Africa: [{"Congo", 1}, {"Egypt", 1}],
America: [{"USA", 4}],
Europe: [{"France", 2}, {"Spain", 3}]
]
我尝试了以下组合,但没有得到预期的结果。可以帮忙吗?
Enum.map(
[{"Africa", 1}, {"America", 2}, {"Europe", 3}],
fn {continent_name, continent_id} ->
Enum.filter(
[{"Congo", 1, 1}, {"France", 2, 3}, {"Spain", 3, 3}, {"USA", 4, 2}, {"Egypt", 5, 1}],
fn {country_name, country_id, country_continent_id} ->
if continent_id == country_continent_id do
[continent_name: [{country_name, country_id}]]
end
end
)
end
)
【问题讨论】:
标签: elixir