在Elixir中,可以使用Enum.find/2
函数从列表中按值获取地图。该函数接受两个参数:列表和一个匹配函数。匹配函数用于确定列表中的元素是否与给定的值匹配。
以下是一个示例代码:
list = [%{name: "Alice", age: 25}, %{name: "Bob", age: 30}, %{name: "Charlie", age: 35}]
value = "Bob"
result = Enum.find(list, fn %{name: name} -> name == value end)
IO.inspect(result)
上述代码中,我们有一个包含地图的列表list
,每个地图都有name
和age
字段。我们想要从列表中找到name
字段等于"Bob"的地图。
Enum.find/2
函数使用了一个匿名函数作为匹配函数。该匿名函数接受一个地图作为参数,并检查其name
字段是否等于给定的值。如果匹配成功,Enum.find/2
函数将返回该地图,否则返回nil
。
输出结果将是包含name
字段为"Bob"的地图。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云