如何在地图中获取关键值?

use*_*937 2 elixir

例:

map = %{a: 'apple', o: 'orange'}
Run Code Online (Sandbox Code Playgroud)

鉴于上面的地图,我想得到价值的关键'orange'.

Gja*_*don 13

要获取地图中特定值的键,您可以执行以下操作:

map
|> Enum.find(fn {key, val} -> val == 'orange' end)
|> elem(0)
Run Code Online (Sandbox Code Playgroud)

以上回报:o.请注意,标准库中没有为我们执行此操作的功能.这可能是因为我们无意根据地图中的值获取密钥.根据密钥获取价值总是更高效.也许您可以重新思考如何使用地图并找到制作'orange'密钥的方法.

顺便说一下,你使用的是char列表'orange'而不是a "string".