如何获取map中的key值?

问题描述 投票:0回答:1

示例:

map = %{a: 'apple', o: 'orange'}

鉴于上面的地图,我想获取值

'orange'
的键。

elixir
1个回答
17
投票

要获取映射中特定值的键,您可以执行 ff:

map
|> Enum.find(fn {_key, val} -> val == 'orange' end)
|> elem(0)

以上返回

:o
。请注意,标准库中没有函数可以为我们执行此操作。这可能是因为我们不打算根据映射中的值获取键。根据键获取值总是会提高性能。也许你可以重新考虑如何使用地图并找到一种方法让
'orange'
成为钥匙。

顺便说一下,您使用的是

'orange'
的字符列表,而不是
"string"

© www.soinside.com 2019 - 2024. All rights reserved.