[needed: true], "-6ren">
gpt4 book ai didi

dictionary - Elixir 按条件过滤映射条目

转载 作者:行者123 更新时间:2023-12-05 09:04:03 28 4
gpt4 key购买 nike

我在 Elixir 中有一个映射,它从字符串键映射到一个值,该值是一个属性列表。如何在通过Map枚举时去掉不符合条件的项?

map 看起来像这样:

%{"A" => [needed: true], "B" => [needed: false]}

在这种情况下,我会检查每个键/值对,只保留需要的键/值对:true

到目前为止,我尝试过使用 Enum.map 和 Enum.each 进行不同的组合。

最佳答案

当您需要从像 Map 这样的可枚举对象中过滤值时,Enum.filter/2是你的 friend 。诀窍在于您需要将结果“重新组装”回 map 。

%{"A" => [needed: true], "B" => [needed: false]}
|> Enum.filter(fn {_, v} -> Keyword.get(v, :needed) end)
|> Enum.into(%{})

# Result:
%{"A" => [needed: true]}

关于dictionary - Elixir 按条件过滤映射条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69092526/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com