获取所有地图密钥

Mic*_*air 6 elixir

在elixir中是否有一种方法可以获得与array_keysPHP 类似的所有映射键?我一直在寻找,但似乎无法找到办法.

或者还有另一种获得独特价值的方法吗?我正在为地图中的键指定名称,其值为1仅获取不同的值.然后我想获得只检索唯一值的键.

我正在使用此代码来创建我的地图:

names = Enum.reduce lines, %{}, fn line, acc ->
  Map.put(acc, line.name, 1)
end
Run Code Online (Sandbox Code Playgroud)

例如,我有两行line.name作为测试.我希望最终结果只返回测试.或者如果它们不同,则将它们分开归还,然后使用类似的东西enum.join来组合它们

Enum.join(names, " - ")
Run Code Online (Sandbox Code Playgroud)

She*_*yar 14

你可以使用Map.keys/1:

map = %{a: 1, b: 2}
Map.keys(map)
#=> [:a, :b]
Run Code Online (Sandbox Code Playgroud)